Thanks for some interesting pointers. Unless I'm missing something it seems
that rsync will still have to go through each filename and see if it
matches --include. We're kinda pushing it here, but have around 500,000
files. Files need to be synced at the longest once a minute, and my
experiance so far is that simply building a large filelist (rsync appears to
do its entire search and *then* transfer) is relativly timeconsuming, even
if few of the files match.

What has worked as a stop gap measure is to pass the filelist as a command
line option such as
rsync 'cat filelist' dest::etc

My concern was that there would be some limitation there, but we've managed
all right with a small 800 file test. My feeling is that if rsync
accepts a whole set of files on the command line it would be relativly
straightforward to have it build a filelist from, well, a filelist. I'm
gonna have one of the guys here take a look at patching it to some behavior
like that.

August




> -----Original Message-----
> From: Goswin Brederlow [mailto:[EMAIL PROTECTED]]On
> Behalf Of Goswin Brederlow
> Sent: Tuesday, January 02, 2001 7:21 PM
> To: Bennett Todd
> Cc: Goswin Brederlow; August Zajonc; [EMAIL PROTECTED]
> Subject: Re: Transfering File List
>
>
> >>>>> " " == Bennett Todd <[EMAIL PROTECTED]> writes:
>
>      > 2001-01-02-15:32:35 Goswin Brederlow:
>     >> rsync $FLAGS $HOST::debian/pool/ --include-from .filelist
>     >> --exclude '*' $DEST/pool/
>     >>
>     >> This will mirror everything from HOST::debian/pool to
>     >> DEST/pool, so there you see how to shorten the path.
>     >>
>     >> But "--exclude '*'" will ignore all files except what has been
>     >> allowed by "--include-from .filelist".
>
>      > An additional frob worth noting is that this isn't _quite_ as
>      > simple as you might hope; as explained in the rsync man page,
>      > the matching of files against include/exclude patterns is tried
>      > with each directory prefix leading up to the path, which means
>      > to sync the file a/b/c you need to include (in .filelist, in
>      > the above example):
>
>      >        a/ a/b/ a/b/c
>
>      > The attached perl script will take a list of files and fill in
>      > the needed parent directories.
>
> My .filelist only has the files in it, but with the full path. Also
> all directories are already present locally. Works fine, meaning it
> downloads all files in .filelist.
>
> MfG
>         Goswin
>


Reply via email to