Hi folks; thanks for the responses.

I figured out the problem.  My arguments to rsync were causing the
remote tree to be reconstructed one level down from where I wanted it to
go, which obviously caused all the files to be sent over.  Because I was
using -n just to see what would happen, so no actual files were being
created, I didn't realize that this was the reason it was sending
everything.

I was using:

  rsync -avz --stats --rsync-path=/usr/global/bin/rsync --delete \
        /foo remotehost:/remote/foo

This was creating /remote/foo/foo on remotehost, instead of just
/remote/foo as I wanted.  I switched the commandline to:

  rsync -avz --stats --rsync-path=/usr/global/bin/rsync --delete \
        /foo/ remotehost:/remote/foo
            ^
(note extra "/" after source directory) and it worked.

I still feel rsync could stand some improvement in its verbose output
levels; this makes two things I'd like to see:

 1) A line specifying _why_ each file was eligible for update (modtime,
    uid/gid change, whatever).

 2) Output showing the fully-qualified source *and* destination
    pathnames, so it's easy to see when rsync is going to put a
    directory hierarchy where you don't expect it.

Anyway, after fixing this rsync -n was able to determine that only
20-odd files needed to be updated on my 2.7G filesystem in only 5
minutes!

Not bad at all, and blows rdist (also in verify mode) out of the water
(I don't know what rdist is doing, but it takes hours to do it).

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>    HASMAT--HA Software Methods & Tools
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.

Reply via email to