X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/73e015683cbfacbae3acaef75704c7376b74d505..bb6721dce6bac8ff2374609bf5f99ea7e6fe2c70:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 961891a5..ec76d7d9 100644 --- a/rsync.yo +++ b/rsync.yo @@ -289,7 +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 + --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 @@ -317,6 +317,7 @@ verb( --ignore-errors delete even if there are I/O errors --max-delete=NUM don't delete more than NUM files --partial keep partially transferred files + --partial-dir=DIR put a partially transferred file into DIR --force force deletion of dirs even if not empty --numeric-ids don't map uid/gid values by user/group name --timeout=TIME set I/O timeout in seconds @@ -487,17 +488,17 @@ 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 +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 changes -and also on systems that are disk bound not network bound. +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 afterwards if the transfer gets interrupted), so you +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 not update a file inplace that is not writable by the receiving -user. +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. @@ -865,6 +866,29 @@ it is more desirable to keep partially transferred files. Using the --partial option tells rsync to keep the partial file which should make a subsequent transfer of the rest of the file much faster. +dit(bf(--partial-dir=DIR)) Turns on --partial mode, but tells rsync to +put a partially transferred file into DIR instead of writing out the +file to the destination dir. Rsync will also use a file found in this +dir as data to speed up the transfer (i.e. when you redo the send after +rsync creates a partial file) and delete such a file after it has served +its purpose. + +Rsync will create the dir if it is missing (just the last dir -- not the +whole path). This makes it easy to use a relative path (such as +"--partial-dir=.rsync-partial") to have rsync create the partial-directory +in the destination file's directory (rsync will also try to remove the DIR +if a partial file was found to exist at the start of the transfer and the +DIR was specified as a relative path). + +If you are deleting files on the destination and your partial-dir is +inside the destination hierarchy, make sure you specify an exclude to +prevent the partial file from being deleted (it could get deleted at the +end of the transfer when using --delete-after, or at the beginning of the +transfer when using --delete). E.g. "--exclude=.rsync-partial/". + +IMPORTANT: the --partial-dir should not be writable by other users to +avoid a security risk. E.g. AVOID "/tmp". + dit(bf(--progress)) This option tells rsync to print information showing the progress of the transfer. This gives a bored user something to watch. @@ -913,7 +937,7 @@ 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 @@ -1110,7 +1134,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 @@ -1145,56 +1170,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/