daemon excludes all my files

Matt McCutchen hashproduct+rsync at gmail.com
Sun Sep 24 02:22:37 GMT 2006


The trouble is that your .* exclude pattern is matching . , the top
level of the module, because * can match the empty string:

> skipping server-excluded file "."

If your intent was to match hidden files, change the pattern to .?* to
match a period followed by at least one character.

Are you sure you need to use daemon excludes?  They are meant as a
security policy to prevent clients from accessing or uploading files
at excluded paths.  If you only want to skip uploading some of the
files in the source directory, get rid of the daemon excludes and use
only the client excludes (on the command line).  This will also fix
the problem because rsync never allows . to be affected by client
excludes.

It's not clear to me whether daemon excludes should match the top
level of a module or whether the behavior is a bug, since the
documentation of the daemon exclude settings in rsyncd.conf(5) is
inadequate.  I am left wondering what the meanings of "- /foo", "-/
foo", and "-/ /foo" are for a daemon and how to exclude a file at a
certain path from the root of the module (as opposed to the transfer
or the filesystem).  I tried to figure this out from the source code,
but the filter-matching code is really difficult to understand.
Wayne, please help!

Matt


More information about the rsync mailing list