X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6eb770bbcc3115d8dac36fdb20a181e6ac6c9253..66a9dc9639db9b86dd7218beda5ba1637651462d:/rsync.yo diff --git a/rsync.yo b/rsync.yo index d18267a9..961891a5 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 file 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 ammount of +network reduction it might otherwise. + +This option is useful for transfer of large files with block based changes +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 afterwards if the transfer gets interrupted), so you +should not use this option to update files that are in use. Also note that +rsync will not 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. @@ -903,7 +918,7 @@ 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 @@ -1114,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 @@ -1143,12 +1158,12 @@ verb( verb( $ rsync --write-batch=batch -a /source/dir/ host:/adest/dir/ $ scp batch* remote: - $ ssh remote ./batch.rsync_argvs /bdest/dir/ + $ ssh remote ./batch.sh /bdest/dir/ ) In these examples, rsync is used to update /adest/dir/ with /source/dir/ and the information to repeat this operation is stored in "batch" and -"batch.rsync_argvs". The host "remote" is then updated with the batched +"batch.sh". The host "remote" is then updated with the batched update going into the directory /bdest/dir. The differences between the three examples is in how the batch gets to the remote machine (via remote stdin or by being copied first), whether the initial transfer was local or