Rsync
rsync[1] command is used to copy and synchronization files and folders. Rsync is a single thread C application that includes a progress indicator.
Configuration files
/etc/rsyncd.conf
which includes don't compress options for some file extensions
Options
-W, --whole-file
-z, --compress
compresses the file data as it is sent to the destination machine using zlib compression library
Basic commands
rsync -P ORIGIN DESTINATION
-P, --partial --progress
. --partial keep partially transferred files
- Copy files from remote server to local machine:
rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage
[2] (explainshell[3])
-c, --checksum
option can slow transfers specially for large files-h, --human-readable
-a, --archive
. Equivalent to -rlptgoD-v, --verbose
-z, --compress
-P, --partial --progress
. --partial keep partially transferred files--stats
, print statistics
- -a, --archive. Equivalent to
-rlptgoD
- -r --recursive recurse into directoriees
- -l --links copy symlinks as symlinks
- -p --perms preserve permissions
- -t --times preserve modification times
- -g --group preserve group
- -o --owner preserve owner (super-user only)
- -D same as --devices --specials
rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage receiving incremental file list .../...
rsync -av --ignore-existing src dst
Compression
rsync support compression, but you can also compress your data with other external compression tools before using rsync. Such as bzip, gzip or xz
xz -v -T0 file_to_compress
- -v provides progress bar
- -T0 use all available Threads, multi-threaded compression supported since 2014, version 5.2.0. [5]
Activities
- Create a remote copy of your files for backup proposes using
rsync
- Read StackOverflow questions about rsync: https://stackoverflow.com/questions/tagged/rsync?tab=Votes
- Understand the differences between
cp
,scp
andrsync
: https://stackoverflow.com/questions/20244585/how-does-scp-differ-from-rsync - Learn Effect of Trailing Slash / in rsync: https://www.alibabacloud.com/blog/speeding-up-network-file-transfers-with-rsync_594337
- Learn use of
--inplace
(implies also--partial
) for transferring large files and its important implications: http://man7.org/linux/man-pages/man1/rsync.1.html, also evaluate-c, --checksum
impact on transfering large files - Learn about
-W, --whole-file
copy files whole (without delta-xfer algorithm), implications and usage cases such as not making a diff copy. - Learn about
--sparse
option and conflicts with--inplace
Performance
- Understand how single thread
rsync
design can affect your transfer speeds.[6]
See also
cp
,dd
,sftp
,scp
,rsync
,casync
,mv
,fio
,ln
,docker cp, kubectl cp
,minikube cp
,multipass transfer
,Copy-Item
,Xcopy
dd
,mv
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.
Source: https://en.wikiversity.org/wiki/Linux/Basic_commands/rsync
- ↑ http://man7.org/linux/man-pages/man1/rsync.1.html
- ↑ https://stackoverflow.com/questions/9090817/copying-files-using-rsync-from-remote-server-to-local-machine
- ↑ https://explainshell.com/explain?cmd=rsync+-chavzP+--stats+user%40remote.host%3A%2Fpath%2Fto%2Fcopy+%2Fpath%2Fto%2Flocal%2Fstorage
- ↑ https://linux.die.net/man/1/xz
- ↑ https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD
- ↑ https://stackoverflow.com/questions/24058544/speed-up-rsync-with-simultaneous-concurrent-file-transfers
Advertising: