Editing Rsync

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{lowercase}}
+
[[wikipedia:rsync|rsync]]<ref>http://man7.org/linux/man-pages/man1/rsync.1.html</ref> command is used to copy and synchronization files and folders. Rsync is a single thread C application that includes a progress indicator.
<code>[[wikipedia:rsync|rsync]]</code> ([[1996]]) command is used to copy and synchronization files and folders. Rsync is a [[single thread]] C application that includes a [[progress]] indicator.
 
 
 
* Man: http://man7.org/linux/man-pages/man1/rsync.1.html
 
  
 
== Configuration files ==
 
== Configuration files ==
Line 8: Line 5:
  
 
== Options ==
 
== Options ==
:<code>-W, --whole-file</code> copy files whole (without [[delta-xfer]] algorithm)
+
:<code>-W, --whole-file</code>
:<code>-z, --[[compress]]</code> compresses the file data as it is sent to the destination machine using [[zlib]] compression library
+
:<code>-z, --compress</code> compresses the file data as it is sent to the destination machine using [[zlib]] compression library
:<code>--temp-dir=DIR, -T</code> create temporary files in directory DIR, by default temp file is created as a [[hidden file]] in the target directory and named <code>.<FILE_NAME>.<RANDOM_STRING></code>
 
:<code>--partial</code>
 
:<code>[[--delete]]</code> delete files in the target not present in source
 
      --delete                delete extraneous files from dest dirs
 
      --delete-before          receiver deletes before xfer, not during
 
      --delete-during          receiver deletes during the transfer
 
      --delete-delay          find deletions during, delete after
 
      --delete-after          receiver deletes after transfer, not during
 
      --delete-excluded        also delete excluded files from dest dirs
 
      --delete-missing-args    delete missing source args from destination
 
  
 
== Basic commands ==
 
== Basic commands ==
* <code>rsync -Pr ORIGIN_FOLDER_OR_FILE DESTINATION_FOLDER</code>
 
: <code>-P, --partial [[--progress]] (--partial</code> keep partially transferred files)
 
: <code>-r --recursive</code>
 
  
 
* <code>rsync -P ORIGIN DESTINATION</code>  
 
* <code>rsync -P ORIGIN DESTINATION</code>  
: <code>-P, --partial --progress (--partial</code> keep partially transferred files)
+
: <code>-P, --partial --progress</code>. --partial keep partially transferred files
 
* Copy files from remote server to local machine: <code>rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage</code><ref>https://stackoverflow.com/questions/9090817/copying-files-using-rsync-from-remote-server-to-local-machine</ref> (explainshell<ref>https://explainshell.com/explain?cmd=rsync+-chavzP+--stats+user%40remote.host%3A%2Fpath%2Fto%2Fcopy+%2Fpath%2Fto%2Flocal%2Fstorage</ref>)
 
* Copy files from remote server to local machine: <code>rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage</code><ref>https://stackoverflow.com/questions/9090817/copying-files-using-rsync-from-remote-server-to-local-machine</ref> (explainshell<ref>https://explainshell.com/explain?cmd=rsync+-chavzP+--stats+user%40remote.host%3A%2Fpath%2Fto%2Fcopy+%2Fpath%2Fto%2Flocal%2Fstorage</ref>)
 
: <code>-c, --checksum</code> option can slow transfers specially for large files   
 
: <code>-c, --checksum</code> option can slow transfers specially for large files   
Line 37: Line 21:
 
: <code>--stats</code>, print statistics
 
: <code>--stats</code>, print statistics
  
:<code>-a, --archive</code>. Equivalent to <code>-rlptgoD</code>
+
:-a, --archive. Equivalent to <code>-rlptgoD</code>
::<code>-r --recursive</code>             recurse into directoriees
+
::-r --recursive            recurse into directoriees
::<code>-l --links</code>                 copy symlinks as symlinks
+
::-l --links                copy symlinks as symlinks
::<code>-p --perms</code>                 preserve permissions
+
::-p --perms                preserve permissions
::<code>-t --times</code>                 preserve modification times
+
::-t --times                preserve modification times
::<code>-g --group</code>                 preserve group
+
::-g --group                preserve group
::<code>-o --owner</code>                 preserve owner (super-user only)
+
::-o --owner                preserve owner (super-user only)
::<code>-D</code> same as <code>--devices --specials</code>
+
::-D same as --devices --specials
 +
 
 +
 
  
 
<pre>rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage
 
<pre>rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage
Line 51: Line 37:
 
</pre>
 
</pre>
  
Remove <code>-c</code> option to avoid calculating checksums which can slow transmissions.
 
<pre>rsync -havzP --stats [email protected]:/path/to/copy /path/to/local/storage
 
receiving incremental file list
 
.../...
 
</pre>
 
  
.../...
 
sending incremental file list
 
 
 
* <code>rsync -Pav --ignore-existing src dst</code>
 
:Learn difference between: <code>--ignore-existing</code> and <code>--update</code>
 
 
* <code>rsync -av --ignore-existing src dst</code>
 
* <code>rsync -av --ignore-existing src dst</code>
  
 
== Compression ==
 
== Compression ==
 
rsync support [[compression]], but you can also compress your data with other external compression tools before using rsync. Such as [[bzip]], [[gzip]] or <code>[[xz]]</code>  
 
rsync support [[compression]], but you can also compress your data with other external compression tools before using rsync. Such as [[bzip]], [[gzip]] or <code>[[xz]]</code>  
 
:<code>-z, --[[compress]]</code> compresses the file data as it is sent to the destination machine using [[zlib]] compression library
 
  
  
Compressing file before rsync using <code>[[xz]]</code><ref>https://linux.die.net/man/1/xz</ref>
+
Compressing using <code>[[xz]]</code><ref>https://linux.die.net/man/1/xz</ref>
 
* <code>[[xz]] -v -T0 file_to_compress</code>  
 
* <code>[[xz]] -v -T0 file_to_compress</code>  
::<code>-v</code> provides progress bar
+
::-v provides progress bar
::<code>-T0</code> use all available Threads, multi-threaded compression supported since 2014, version 5.2.0. <ref>https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD</ref>
+
::-T0 use all available Threads, multi-threaded compression supported since 2014, version 5.2.0. <ref>https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD</ref>
  
 
== Activities ==
 
== Activities ==
 
# Create a remote copy of your files for backup proposes using <code>rsync</code>
 
# Create a remote copy of your files for backup proposes using <code>rsync</code>
 
# Read StackOverflow questions about rsync: https://stackoverflow.com/questions/tagged/rsync?tab=Votes
 
# Read StackOverflow questions about rsync: https://stackoverflow.com/questions/tagged/rsync?tab=Votes
# Understand the differences between <code>[[cp]]</code>, <code>[[scp]]</code> and <code>[[rsync]]</code>: https://stackoverflow.com/questions/20244585/how-does-scp-differ-from-rsync
+
# Understand the differences between [[linux/Basic commands/cp|cp]], [[scp]] and [[linux/Basic commands/rsync|rsync]]: 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 Effect of Trailing Slash / in rsync: https://www.alibabacloud.com/blog/speeding-up-network-file-transfers-with-rsync_594337
 
# Learn use of <code>--inplace</code> (implies also <code>--partial</code>) for transferring large files and its important implications: http://man7.org/linux/man-pages/man1/rsync.1.html, also evaluate <code>-c, --checksum</code> impact on transfering large files
 
# Learn use of <code>--inplace</code> (implies also <code>--partial</code>) for transferring large files and its important implications: http://man7.org/linux/man-pages/man1/rsync.1.html, also evaluate <code>-c, --checksum</code> impact on transfering large files
 +
# Learn about <code>-W, --whole-file</code> copy files whole (without delta-xfer algorithm), implications and usage cases such as not making a diff copy.
 
# Learn about <code>--sparse</code> option and conflicts with  <code>--inplace</code>
 
# Learn about <code>--sparse</code> option and conflicts with  <code>--inplace</code>
Performance
 
# Understand how single thread <code>rsync</code> design can affect your transfer speeds.<ref>https://stackoverflow.com/questions/24058544/speed-up-rsync-with-simultaneous-concurrent-file-transfers</ref>
 
# Learn about <code>-W, --whole-file</code> copy files whole (without delta-xfer algorithm), implications and usage cases such as not making a diff copy.
 
 
== Related terms ==
 
* <code>[[aws s3 rsync]]</code>
 
* <code>[[gzip]] --[[rsyncable]]</code>
 
* <code>[[duplicity]]</code>
 
* [[fork]]
 
* <code>rsyncy</code> status/[[progress]] bar for [[rsync]]
 
* [[Andrew Tridgell]]
 
* [[AWS S3 replication]]
 
  
 
== See also ==
 
== See also ==
* {{rsync}}
 
 
* {{cp}}
 
* {{cp}}
 
* <code>[[dd]]</code>, <code>[[mv]]</code>
 
* <code>[[dd]]</code>, <code>[[mv]]</code>

Please note that all contributions to wikieduonline may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Wikieduonline:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

Advertising: