rsync directories that match a string
Matt McCutchen
hashproduct+rsync at gmail.com
Wed Sep 5 01:04:16 GMT 2007
On 9/4/07, Jason Lewis <jasonblewis at gmail.com> wrote:
> Basically I want to copy all files from
> oldserver/home/$USERS/Maildir/new to newserver/home/$USERS/Maildir/new
> where the $USERS represents all the user's home folders.
>
> this is what I have tried but its not working:
>
> rsync --dry-run -vaxuHS \
> --filter='+ */Maildir/***' \
> --filter='- **' \
> "rsync://home@10.0.2.16/home/*" /home/
Excluding a directory stops rsync from traversing the stuff inside.
The second rule matches and excludes the home directories, so rsync
never notices that the Maildirs inside are included. This is a very
common mistake described in the man page (search for "ineffectual").
To fix the command, you could add a filter to the beginning of the
list that includes everything at the top level (i.e., the home
directories): --filter='+ /*'.
Matt
More information about the rsync
mailing list