rsync. This allows to transfer only necessary files, ie. those which need updating.
Example of transferring files from remote host:
rsync -chavzP --stats email@example.com:/path/to/my-folder /storage
Important to note:
- This command will create my-folder in /storage
folder and transfer all files which it contains.
- This will preserve permissions
- Symlinks will be preserved as they are, ie. this command
does not follow symlinks
- Files will be compared by checksum - because of the
- Connection will be made via ssh so proper keys need to be set up. If ssh server is configured to use passwords, the password prompt will be displayed.
- The colon after host domain indicates that connection will be made via ssh.
--stats option will show summary after
transfer, similar to following example:
Number of files: 54,694 (reg: 32,595, dir: 22,099) Number of created files: 54,694 (reg: 32,595, dir: 22,099) Number of deleted files: 0 Number of regular files transferred: 32,595 Total file size: 373.55M bytes Total transferred file size: 373.55M bytes Literal data: 373.55M bytes Matched data: 0 bytes File list size: 2.17M File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 716.30K Total bytes received: 290.23M sent 716.30K bytes received 290.23M bytes 1.08M bytes/sec total size is 373.55M speedup is 1.28