Optional filter files

Matt McCutchen matt at mattmccutchen.net
Tue Oct 27 17:20:37 MDT 2009


On Tue, 2009-10-27 at 15:38 -0700, Jacob Weber wrote:
> Is it possible to call rsync and tell it to use a filter file if it  
> exists, but otherwise continue without errors?
> 
> If I pass "--filter=. .rsync-filter", it will fail if .rsync-filter  
> doesn't exist.
> 
> I know you can pass "--filter=: /.rsync-filter" to search for filter  
> files in each directory. That won't fail if there aren't any such  
> files. But I'm only interested in one file at the root.

No, rsync does not have such a feature.  It could be added, but I would
be skeptical of letting the filter support grow organically into
something unmanageable; I'd rather see it replaced with a full scripting
language once and for all.

For now, you can test for the filter file in the script calling rsync.
Here's the syntax for bash:

filter_opt=()
if [ -e .rsync-filter ]; then
	filter_opt=("--filter=. .rsync-filter")
fi

rsync ... "${filter_opt[@]}" ...

-- 
Matt



More information about the rsync mailing list