views:

159

answers:

2

I was transferring several thousand files each ~1MB via scp and my connection was broken after the first 2k files or so. I wanted to know if there was a way to resume the recursive transfer w/o starting over. Something like

$ scp -r [email protected]:/datafiles/ ./
... Happy Transfer ...
...     BREAK!     ...
$ rsync -P [email protected]:/datafiles/ ./
... Continue transf...

The problem is I can't seem to get the syntax correct if it is possible. Can anyone shed some light on if/how it can be done?

PS. If you specify the slash after "datafiles" in the rsync line, does that transfer the directory or its contents? I saw conflicting comments when I googled.

+2  A: 

The following line should do the trick for that:

rsync --partial --progress --rsh=ssh -r [email protected]:/datafiles/ ./

I've never used this for recursive directories before, but when I texted it just now it seemed to work as expected.

Tyler
This works too, as long as you include the -r =)
vgm64
+2  A: 

if you are rsyncing from a local machine to a remote host, this would work:

rsync -avzl -e ssh /directory/with/files/ [email protected]:/new/directory/
kibitzer
Thanks. I didn't think this was working because it would begin listing all my files but I didn't realize that it was showing the "file transfer" which just mean noticing the file was up to date. Right were my transfer left off it picked up with real (slower) transfers.
vgm64