X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4602eafa8768331e39202929938a1861d719a8d3..3cb22c204c8f0383f187fc0b41a94b16844a2838:/rsync.yo diff --git a/rsync.yo b/rsync.yo index ec1b2dd6..d79f525a 100644 --- a/rsync.yo +++ b/rsync.yo @@ -289,6 +289,7 @@ verb( --backup-dir make backups into this directory --suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) -u, --update update only (don't overwrite newer files) + --inplace update the destination files inplace -K, --keep-dirlinks treat symlinked dir on receiver as dir -l, --links copy symlinks as symlinks -L, --copy-links copy the referent of all symlinks @@ -484,6 +485,20 @@ dit(bf(-K, --keep-dirlinks)) On the receiving side, if a symlink is pointing to a directory, it will be treated as matching a directory from the sender. +dit(bf(--inplace)) This causes rsync not to create a new copy of the file +and then move it into place. Instead rsync will overwrite the existing +file, meaning that the rsync algorithm can't extract the full amount of +network reduction it might otherwise. + +This option is useful for transfer of large files with block-based change +or appended data, and also on systems that are disk bound not network bound. + +WARNING: The file's data will be in an inconsistent state during the +transfer (and possibly afterward if the transfer gets interrupted), so you +should not use this option to update files that are in use. Also note that +rsync will be unable to update a file inplace that is not writable by the +receiving user. + dit(bf(-l, --links)) When symlinks are encountered, recreate the symlink on the destination. @@ -512,9 +527,9 @@ This option can be quite slow, so only use it if you need it. dit(bf(-W, --whole-file)) With this option the incremental rsync algorithm is not used and the whole file is sent as-is instead. The transfer may be faster if this option is used when the bandwidth between the source and -target machines is higher than the bandwidth to disk (especially when the +destination machines is higher than the bandwidth to disk (especially when the "disk" is actually a networked filesystem). This is the default when both -the source and target are on the local machine. +the source and destination are specified as local paths. dit(bf(--no-whole-file)) Turn off --whole-file, for use when it is the default. @@ -898,12 +913,12 @@ result is an average transfer rate equaling the specified limit. A value of zero specifies no limit. dit(bf(--write-batch=FILE)) Record a file that can later be applied to -anonther identical destination with --read-batch. See the "BATCH MODE" +another identical destination with --read-batch. See the "BATCH MODE" section for details. dit(bf(--read-batch=FILE)) Apply all of the changes stored in FILE, a file previously generated by --write-batch. -If em(FILE) is "-" the list will be read from standard input. +If em(FILE) is "-" the batch data will be read from standard input. See the "BATCH MODE" section for details. dit(bf(-4, --ipv4) or bf(-6, --ipv6)) Tells rsync to prefer IPv4/IPv6 @@ -1095,7 +1110,8 @@ itemize( manpagesection(BATCH MODE) bf(Note:) Batch mode should be considered experimental in this version -of rsync. The interface or behavior may change before it stabilizes. +of rsync. The interface and behavior have now stabilized, though, so +feel free to try this out. Batch mode can be used to apply the same set of updates to many identical systems. Suppose one has a tree which is replicated on a @@ -1114,7 +1130,7 @@ using the information stored in the batch file. For convenience, one additional file is creating when the write-batch option is used. This file's name is created by appending -".rsync_argvs" to the batch filename. The .rsync_argvs file contains +".sh" to the batch filename. The .sh file contains a command-line suitable for updating a destination tree using that batch file. It can be executed using a Bourne(-like) shell, optionally passing in an alternate destination tree pathname which is then used @@ -1130,56 +1146,76 @@ at once, instead of sending the same data to every host individually. Examples: verb( - $ rsync --write-batch=batch -a /source/dir/ /adest/dir/ - $ ssh remote rsync --read-batch=- -a /bdest/dir/