X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b9f592fbf50b0dc9e3d1d33b8deb2bf9abad9ef6..0abda1b176b0cb95f5a177d5206ddbada9f74787:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 0f07c46b..e69ca52a 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. @@ -686,11 +701,11 @@ See the EXCLUDE PATTERNS section for detailed information on this option. dit(bf(--include-from=FILE)) This specifies a list of include patterns from a file. -If em(FILE) is bf(-) the list will be read from standard input. +If em(FILE) is "-" the list will be read from standard input. dit(bf(--files-from=FILE)) Using this option allows you to specify the exact list of files to transfer (as read from the specified FILE or "-" -for stdin). It also tweaks the default behavior of rsync to make +for standard input). It also tweaks the default behavior of rsync to make transferring just the specified files and directories easier. For instance, the --relative option is enabled by default when this option is used (use --no-relative if you want to turn that off), all @@ -898,12 +913,13 @@ 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. See the "BATCH MODE" -section for details. +file previously generated by --write-batch. +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 when creating sockets. This only affects sockets that rsync has direct @@ -1113,7 +1129,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 @@ -1126,29 +1142,49 @@ updating multiple destination trees. Multicast transport protocols can be used to transfer the batch update files in parallel to many hosts at once, instead of sending the same data to every host individually. -Example: +Examples: + +verb( + $ rsync --write-batch=foo -a host:/source/dir/ /adest/dir/ + $ scp foo* remote: + $ ssh remote ./foo.sh /bdest/dir/ +) verb( - $ rsync --write-batch=batch -a /source/dir/ /adest/dir/ - $ rcp batch* remote: - $ ssh remote rsync --read-batch=batch -a /bdest/dir/ - # or alternatively - $ ssh remote ./batch.rsync_argvs /bdest/dir/ + $ rsync --write-batch=foo -a /source/dir/ /adest/dir/ + $ ssh remote rsync --read-batch=- -a /bdest/dir/