--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
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: If the transfer is interrupted, you will have an inconsistent file
+and the transfer should be run again.
+
dit(bf(-l, --links)) When symlinks are encountered, recreate the
symlink on the destination.
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.
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
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 list 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
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=batch -a /source/dir/ /adest/dir/
- $ rcp batch* remote:
+ $ ssh remote rsync --read-batch=- -a /bdest/dir/ <batch
+)
+
+verb(
+ $ rsync --write-batch=batch -a host:/source/dir/ /adest/dir/
+ $ scp batch remote:
$ ssh remote rsync --read-batch=batch -a /bdest/dir/
- # or alternatively
+)
+
+verb(
+ $ rsync --write-batch=batch -a /source/dir/ host:/adest/dir/
+ $ scp batch* remote:
$ ssh remote ./batch.rsync_argvs /bdest/dir/
)
-In this example, rsync is used to update /adest/dir/ with /source/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". These files are then copied to the machine named
-"remote". Rsync is then invoked on "remote" to update /bdest/dir/ the
-same way as /adest/dir/. The last line shows the rsync_argvs file
-being used to invoke rsync.
+"batch.rsync_argvs". 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
+remote, and in how the batch-reading rsync command is invoked.
Caveats: