On Thu, Jan 10, 2002 at 04:32:24PM +1100, Andrew Mak wrote: > Hello All, > > I am using the rsync-2.5.1 on Solaris (Sparc) 2.6. I encountered the > following while trying to get a directory on two machine in sync. > > 1) copy the files /var/tmp/test-rsync/* from box1 to box2:/var/tmp/test-rsync/ > 2) touch a file AAAA in box1:/var/tmp/test-rsync/ > 3) in box1, type in the following > /usr/local/bin/rsync -nculaR --stats > --partial /var/tmp/test-rsync/ box2:/var/tmp/test-rsync/ > > I am expecting rsync to report the file AAAA will be transfered. Instead, > rsync reports ALL the files in the directory /var/tmp/test-rsync will be > transfered. > > From the man page of rsync, -c is to perform a checksum on all files in > the sender and receiver. If the file exist on the receiver, the checksum > and the size are the same, the file will be skipped. > > In this case, all but the file AAAA meets the condition, has anyone get any > idea on why is rsync still reports all the files?
I think the -R is the problem. > Is there anyway to get > rsync to report only on the file it is going to transfer instead of > outputting the whole file list? Yes, that's what it normally does. > Many thanks in advance. By the way, -c is almost always unnecessary extra overhead. Since you're copying the timestamps (implied by -a), you could take the default behavior and have it quickly skip any file who's timestamp and size matches. Also, -l is redundant since it is also implied by -a. - Dave Dykstra
