On Aug 17, 2015, at 3:06 PM, Joe <jose...@main.nc.us> wrote: > First, let me state the obvious. It looks like your code is executing rsync > in a bash one liner once for each file that find returns. That's not cool! > And it's almost definitely not what you wanted to do.
It is perfect;y acceptable and definitely ‘cool’. This gives me stats on each file, which is what I want. > Among other things, that means that bash is seeing all those embedded blanks > and the parentheses in your file names and getting upset because blanks > delimit arguments and parentheses are used for a number of syntactically > meaningful things. That does not explain why bash is perfectly happy with the command line if it is a locally mounted disk (the same disk, in fact). Despite the error, this is not a bash problem. > So, at a minimum, you need to escape/quote *both* of your file references {} > - not just the one. Find’s {} is escaped, just doesn’t seem to be escaped properly via ssh/rysnc. As I said, this works: find . -type f -atime -1 -exec rsync -aP {} /Drive5/{} This fails if there are ()’s in the file name. find . -type f -atime -1 -exec rsync -aP {} 10.0.0.11:/Drive5/{} > But the real issue is that you should probably let find put all the resulting > file names into a file or pipe and send that to rsync once using something > like > --files-from=FILE read list of source-file names from FILE > where you should be able to use "-" as the file name so it uses the output of > the find command as input to rsync. Hmm. Maybe. I’ll play with that. -- Why live in the world when you can live in your head?
-- 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