On Tue 28 Sep 2010, Ian Skinner wrote: > I am trying to mirror only select directories from one server to another with > rsync through its daemon mode. > > Server A > /export > /home > /A-do > /A-not > /A-copy > /das > /htdocs > /docs > /em > /htdocs > /docs > /psb > /htdocs > /docs > /X-do > /X-not > /X-copy > > Server B > /export > /home > /extranet > /das > /htdocs > /docs > /em > /htdocs > /docs > /psb > /htdocs > /docs > > I wish to copy everything in the /docs directories under the /das, /em and > /psb directories (in this simplified example) moving them from /export/home > on server A to /export/home/extranet on server B. > > This is what I have in a rsyncd.conf on server B. > [dprweb_extranet] > path = /export/home/extranet > comment = California Department of Pesticide Regulation Extranet > uid = webuser > gid = other > read only = no > list = yes > hosts allow = ww.xxx.yy.zz > secrets file = /etc/.password > auth users = aaa > > Here is the command I've tried on server A > /usr/local/bin/rsync -n -vvv --stats -Pzrtpl --delete > --password-file=/export/home/webuser/.appprod > --log-file=/export/home/webuser/logs/rsync-log --include > "/export/home/[internal|das|em|enf|itb|medtox|pml|psb|reg|whs]/htdocs/docs/*" > --exclude "/*" /export/home/xterernal/htdocs/ > webu...@appprod::dprweb_extranet > > This is failing with this message in the output. > sending incremental file list > rsync: change_dir "/export/home/xterernal/htdocs" failed: No such file or > directory (2) > > Question A: > Why was it looking at the "/export/home/xterernal/htdocs" directory. The > external is one of the many directories I am trying to ignore.
You have explicitly told it to use /export/home/xterernal/htdocs/ as the source directory! Note that you wrote "xterernal" which is not the same as "external". > Question B: > Where is it trying to change to the /export/home/xterernal/htdocs directory? > On server B? If so, that is not the desired path, /export/home/extranet/... > is the desired destination. No, on the source, see answer to question B. > Can anybody provide some guidance on how to filter to select directories and > mirror them to another server with a different base path? You need to know that include/exclude patterns are anchored at the root of the transfer. It's a bit difficult from your message to see what exactly you're trying to transfer and exclude, but if you want to transfer /export/home/external/htdocs/ which contains subdirectories "yes" and "no", to exclude the "no" directory use this: rsync -aP --exclude /no /export/home/external/htdocs/ remote::whatever/ Also, using [] in patterns is only supported for character ranges as in [0-9], not for lists of words. Paul -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html