Resume scp/rsync file transfer

This is very basic Linux knowledge, but the question has arisen too often and I decided to document it.

Problem:

Transfer (or upload/download) a large tree of files and directories from one machine to another using a ssh connection, and being able to resume/continue if the operation is interrupted.

Solution:

Until now, I believe that the best solution is using rsync over ssh, since rsync has a feature to resume interrupted file transfer, even when an entire tree of directories is involved.

Command line:

rsync -vrlPtz -e ssh host:/remote_path/* /local_path/

Explained:

-e ssh rsync will use ssh client instead of rsh
-z compress file transfer
-t preserve time (other attributes as owner or permissions are also possible)
-l copy symlinks as symlinks
-P resume incomplete file transfer
-r recursive into subdirectories
-v verbose
Optionally, you may also add following options, that make sense only if both machines have the save user name space:
-p preserve permissions
-o preserve owner
-g preserve group

Thanks Daniel.
You saved me so much hassle with this helpful tip. Apparently filezilla has a bug in it so that when you are resumeing a file larger than 2GB or so, it messes up the filesize and checksum – leaving the file corrupt. Again, thank you.

Completely wrong, and led me into trouble :(
rsync 3.0.6
-P is –progress –partial, meaning “keep partial files after transfer”. However, it does *not* resume transfer – every new transfer deletes the partial file and starts from scratch.