bash: /usr/local/bin/rsync: Argument list too long

Jan-Benedict Glaw jbglaw at lug-owl.de
Tue Aug 10 13:34:17 GMT 2004


On Tue, 2004-08-10 16:17:59 +0300, victor <victor at ambra.ro>
wrote in message <4118CB07.3000802 at ambra.ro>:
> However, can you explain me why this command works?
> /usr/local/bin/rsync -r --delete --perms --owner --group 
> /mail/spool/imap/user root at 192.168.250.68:/mail/spool/imap
> In /mail/spool/imap/user I have a lot of subdirectories with >1000 files.
> 
> What I mean is that rsync can make sutch a transfer(no mather the 
> kernel), but for some reason he does not.

It's purely a matter of this question's answer:

	"Is a veeery long list of file names supplied at the command
	line, or is rsync on it's own figuring out all the names
	(possibly recursing through subdirectories with gazillions of
	files)?"

If you supply "*" as a file name, rsync _never ever_ will see this
little star. Instead, the shell interpreter (where you've typed your
command) will substitute it with the looong list of names. If this list
exceeds a certain size (IIRC 128KB on PeeCees), the shell interpreter
will fail to start the rsync program (since the kernel cannot copy all
the data).

If you supply "." as a _directory_ name containing thousands of files,
it'll work just fine since "." isn't expanded by the shell interpreter,
but recursively read by rsync itself.

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.samba.org/archive/rsync/attachments/20040810/a822d282/attachment.bin


More information about the rsync mailing list