rsync — a fast, versatile, remote (and local) file-copying tool
-a archive mode
-r recursive – recurse into directories
-v verbose – increase verbosity
-z compress – With this option, rsync compresses the file data as it is sent to the destination machine, which reduces the amount of data being transmitted something that is useful over a slow connection Note that this option typically achieves better compression ratios than can be achieved by using a compressing remote shell or a compressing transport because it takes advantage of the implicit information in the matching data blocks that are not explicitly sent over the connection
-P is equivalent to –partial –progress. Its purpose is to make it much easier to specify these two options for a long transfer that may be interrupted
-n perform a trial run with no changes made
-u skip files that are newer on the receiver
-t preserve modification times
–bwlimit=KBPS limit I/O bandwidth; KBytes per second
This option allows you to specify a maximum transfer rate in kilobytes per second. This option is most effective when using rsync with large files (several megabytes and up). Due to the nature of rsync transfers, blocks of data are sent, then if rsync determines the transfer was too fast, it will wait before
sending the next data block. The result is an average transfer rate equaling the specified limit. A value of zero specifies no limit.
(25Mb = 3200 KB)
(10Mb = 1250 KB)
(7.5 Mb = 960 KB)
(5Mb = 640 KB)
(2.5Mb = 320 KB)
(3Mb = 384 KB)
(1Mb = 128 KB)
–append append data onto shorter files
–append-verify append w/old data in file checksum
rsync -avz foo:src/bar /data/tmp
This would recursively transfer all files from the directory src/bar on the machine foo into the /data/tmp/bar directory on the local machine. The files are transferred in “archive” mode, which ensures that symbolic links,
devices, attributes, permissions, ownerships, etc. are preserved in the transfer. Additionally, compression will be used to reduce the size of data portions of the transfer.
– Trailing slash on the source avoid to create directory on the destinations. So without trailing slash at the end, this will
create this directory at the destination. This is the same
rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo
This will synchronize and copy left folder to to right. It preserve unfinished files. With next commenad, it will resume
and append data to unfinished files.
rsync -avP /mnt/nfs /media/adm-nfs/ rsync -avP --append /mnt/nfs /media/adm-nfs/