Wildcards (include)
Ken
ken at toudi.cisovanet.pl
Tue Mar 18 23:04:15 EST 2003
> On Mon, Mar 17, 2003 at 04:5929PM +0100, Wayne wrote:
> > Let's say I need to synchronize:
> >
> > /web/sites
> > /var/qmail/control
> > /home/ken
>
> If your command is that simple, you should just list all the dirs on the
> commandline without any include/exclude stuff and use -R (--relative):
>
> rsync -azvlR /web/sites /var/qmail/control /home/ken username at host.com:/ken/backup/
>
> Only when you overflow the commandline do you need to resort to
> include/exclude syntax (or use the new --files-from option, if that
> is available to you -- see the mailing list archive for more info).
>
> To understand what you are doing wrong with the include/exclude syntax,
> you would do well to read the man page on this topic. It boils down to
> specifying all needed directories that guide the hierarchical descent to
> the directories you wish to send. I also prefer to avoid a global "*"
> exclude, so I'd write the "includes" file like this:
>
> + /var/
> + /web/
> + /home/
> - /*
> + /var/qmail/
> - /var/*
> + /var/qmail/control/
> - /var/qmail/*
> + /web/sites/
> - /web/*
> + /home/ken/
> - /home/*
>
> Which you'd use with the following command:
>
> rsync -azvl --include-from=includes / username at host.com:/ken/backup/
>
> An alternative "includes" file that uses a global "*" exclude would look
> like this:
>
> + /var/
> + /var/qmail/
> + /var/qmail/control/
> + /var/qmail/control/**
> + /web/
> + /web/sites/
> + /web/sites/**
> + /home/
> + /home/ken/
> + /home/ken/**
> - *
>
> Some folks might like that syntax better.
It worked!
Now I understand how "include-from" really works.
Thank you very much for your help, Wayne.
Regards,
Ken
More information about the rsync
mailing list