I've gone over and over the man page and I don't get it and it's obviously a simple task I want to rsync a directory but only the pdf files... rsync -ncauv --include=*.pdf $WORKING $WEB_SERVER # sync's everything, I want to exclude stuff rsync -ncauv --filter='+ *.pdf' --filter='+ *.odt *.ott *.eps' \ $WORKING $WEB_SERVER # sync's everything...does not seem to exclude anything rsync -ncauv --filter='. /root/scripts/qm_manual_filter' \ $WORKING $WEB_SERVER # cat qm_manual_filter - * + *pdf excludes everything I am using -n for dry-run I definitely need recursive but -a option handles that Suggestions? Craig
On Friday 07 March 2008 18:40:03 Craig White wrote:> I've gone over and over the man page and I don't get it and it's > obviously a simple task > > I want to rsync a directory but only the pdf files... > > rsync -ncauv --include=*.pdf $WORKING $WEB_SERVER > # sync's everything, I want to exclude stuff > > rsync -ncauv --filter='+ *.pdf' --filter='+ *.odt *.ott *.eps' \ > $WORKING $WEB_SERVER > # sync's everything...does not seem to exclude anything > > rsync -ncauv --filter='. /root/scripts/qm_manual_filter' \ > $WORKING $WEB_SERVER > # cat qm_manual_filter > - * > + *pdf > > excludes everything > > I am using -n for dry-run > I definitely need recursive but -a option handles that >I don't know if it would work, but could you use --exclude-from=/path/to/skiplist.txt to exclude everything then use your filter line to add .pdfs back? I've not tried adding anything back after excluding. You can certainly use wild cards in your skiplist, such as *.odt *.ott *.eps Anne -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: <http://lists.centos.org/pipermail/centos/attachments/20080307/02e0b07c/attachment-0002.sig>
At 02:09 PM 3/7/2008, you wrote:>On Friday 07 March 2008 18:40:03 Craig White wrote: > > I've gone over and over the man page and I don't get it and it's > > obviously a simple task > > > > I want to rsync a directory but only the pdf files... > > > > rsync -ncauv --include=*.pdf $WORKING $WEB_SERVER > > # sync's everything, I want to exclude stuff > > > > rsync -ncauv --filter='+ *.pdf' --filter='+ *.odt *.ott *.eps' \ > > $WORKING $WEB_SERVER > > # sync's everything...does not seem to exclude anything > > > > rsync -ncauv --filter='. /root/scripts/qm_manual_filter' \ > > $WORKING $WEB_SERVER > > # cat qm_manual_filter > > - * > > + *pdf > > > > excludes everything > > > > I am using -n for dry-run > > I definitely need recursive but -a option handles that > > >I don't know if it would work, but could you >use --exclude-from=/path/to/skiplist.txt to exclude everything then use your >filter line to add .pdfs back? > >I've not tried adding anything back after excluding. You can certainly use >wild cards in your skiplist, such as *.odt *.ott *.eps > >AnneI think Anne has got the solution here: --exclude-from= switch. I've been using rsync for years and never could get the --exclude= switch to work, but --exclude-from= works a charm. That said, I've always had problems with tar -exclude switches too, so take my advice with a grain o' salt. Cheers! -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.6/1316 - Release Date: 3/6/2008 6:58 PM
On Fri, Mar 7, 2008 at 12:40 PM, Craig White <craig at tobyhouse.com> wrote:> I've gone over and over the man page and I don't get it and it's > obviously a simple task > > I want to rsync a directory but only the pdf files... > > rsync -ncauv --include=*.pdf $WORKING $WEB_SERVER > # sync's everything, I want to exclude stuff > > rsync -ncauv --filter='+ *.pdf' --filter='+ *.odt *.ott *.eps' \ > $WORKING $WEB_SERVER > # sync's everything...does not seem to exclude anything > > rsync -ncauv --filter='. /root/scripts/qm_manual_filter' \ > $WORKING $WEB_SERVER > # cat qm_manual_filter > - * > + *pdf > > excludes everything > > I am using -n for dry-run > I definitely need recursive but -a option handles that > > Suggestions?Include/exclude is a pain in the you know what. Very finicky. Perhaps try **/*.pdf as the include patterns are directory sensitive. I don't think a simple *.pdf will apply recursively. -- Jeff
On Fri, 2008-03-07 at 19:09 +0000, Anne Wilson wrote:> On Friday 07 March 2008 18:40:03 Craig White wrote: > > I've gone over and over the man page and I don't get it and it's > > obviously a simple task > > > > I want to rsync a directory but only the pdf files... > > > > rsync -ncauv --include=*.pdf $WORKING $WEB_SERVER > > # sync's everything, I want to exclude stuff > > > > rsync -ncauv --filter='+ *.pdf' --filter='+ *.odt *.ott *.eps' \ > > $WORKING $WEB_SERVER > > # sync's everything...does not seem to exclude anything > > > > rsync -ncauv --filter='. /root/scripts/qm_manual_filter' \ > > $WORKING $WEB_SERVER > > # cat qm_manual_filter > > - * > > + *pdf > > > > excludes everything > > > > I am using -n for dry-run > > I definitely need recursive but -a option handles that > > > I don't know if it would work, but could you > use --exclude-from=/path/to/skiplist.txt to exclude everything then use your > filter line to add .pdfs back? > > I've not tried adding anything back after excluding. You can certainly use > wild cards in your skiplist, such as *.odt *.ott *.eps---- doesn't work... (from script) rsync -ncauv --exclude-from='/root/scripts/qm_manual_filter' \ --include='**/*.pdf' $WORKING $WEB_SERVER # ./sync-qm_manual.scr building file list ... done sent 29 bytes received 20 bytes 98.00 bytes/sec total size is 0 speedup is 0.00 no files but changing qm_manual_filter to specifics... # cat qm_manual_filter #+ **/*pdf #- * - *.ods - *.odt - *.ott - *.eps - Build-PDF/ did work, so I guess the simplest form is to just do this... # tail -n 1 script... rsync -ncauv \ --filter='. /root/scripts/qm_manual_filter' \ $WORKING $WEB_SERVER # cat qm_manual_filter + **/*pdf - *.ods - *.odt - *.ott - *.eps - Build-PDF/ which ultimately does what I want, I think. Thanks Craig