-O, --omit-dir-times omit directories when preserving times
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
- -W, --whole-file copy files whole
+ -W, --whole-file copy files whole (without rsync algorithm)
--no-whole-file always use incremental rsync algorithm
-x, --one-file-system don't cross filesystem boundaries
-B, --block-size=SIZE force a fixed checksum block-size
--rsync-path=PATH specify path to rsync on the remote machine
--existing only update files that already exist
--ignore-existing ignore files that already exist on receiver
+ --remove-sent-files sent files/symlinks are removed from sender
--del an alias for --delete-during
--delete delete files that don't exist on sender
--delete-before receiver deletes before transfer (default)
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
--modify-window=NUM compare mod-times with reduced accuracy
- -T --temp-dir=DIR create temporary files in directory DIR
+ -T, --temp-dir=DIR create temporary files in directory DIR
+ -y, --fuzzy find similar file for basis if no dest file
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-z, --compress compress file data during the transfer
-C, --cvs-exclude auto-ignore files in the same way CVS does
-f, --filter=RULE add a file-filtering RULE
- -F same as --filter=': /.rsync-filter'
+ -F same as --filter='dir-merge /.rsync-filter'
repeated: --filter='- .rsync-filter'
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
--include=PATTERN don't exclude files matching PATTERN
--include-from=FILE read include patterns from FILE
--files-from=FILE read list of source-file names from FILE
- -0 --from0 all *from file lists are delimited by nulls
+ -0, --from0 all *from file lists are delimited by nulls
--version print version number
--port=PORT specify double-colon alternate port number
--blocking-io use blocking I/O for the remote shell
--stats give some file-transfer stats
--progress show progress during transfer
-P same as --partial --progress
+ -i, --itemize-changes output a change-summary for all updates
--log-format=FORMAT log file-transfers using specified format
--password-file=FILE read password from FILE
--list-only list the files instead of copying them
--write-batch=FILE write a batched update to FILE
--read-batch=FILE read a batched update from FILE
--checksum-seed=NUM set block/file checksum seed (advanced)
- -4 --ipv4 prefer IPv4
- -6 --ipv6 prefer IPv6
+ -4, --ipv4 prefer IPv4
+ -6, --ipv6 prefer IPv6
-h, --help show this help screen)
Rsync can also be run as a daemon, in which case the following options are
--no-detach do not detach from the parent
--port=PORT listen on alternate port number
-v, --verbose increase verbosity
- -4 --ipv4 prefer IPv4
- -6 --ipv6 prefer IPv6
+ -4, --ipv4 prefer IPv4
+ -6, --ipv6 prefer IPv6
-h, --help show this help screen)
manpageoptions()
information at the end. More than two bf(-v) flags should only be used if
you are debugging rsync.
+Note that the names of the transferred files that are output are done using
+a default bf(--log-format) of "%n%L", which tells you just the name of the
+file and, if the item is a symlink, where it points. At the single bf(-v)
+level of verbosity, this does not mention when a file gets its attributes
+changed. If you ask for an itemized list of changed attributes (either
+bf(--itemize-changes) or adding "%i" to the bf(--log-format) setting), the
+output (on the client) increases to mention all items that are changed in
+any way. See the bf(--log-format) option for more details.
+
dit(bf(-q, --quiet)) This option decreases the amount of information you
are given during the transfer, notably suppressing information messages
from the remote server. This flag is useful when invoking rsync from
dit(bf(-a, --archive)) This is equivalent to bf(-rlptgoD). It is a quick
way of saying you want recursion and want to preserve almost
everything. The only exception to this is if bf(--files-from) was
-specified, in which case bf(-d) is implied instead of bf(-r).
+specified, in which case bf(-r) is not implied.
Note that bf(-a) bf(does not preserve hardlinks), because
finding multiply-linked files is expensive. You must separately
This tells rsync not to update files that already exist on
the destination.
-dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
-files or directories. This is useful when mirroring very large trees
-to prevent disasters.
-
-dit(bf(--max-size=SIZE)) This tells rsync to avoid transferring any
-file that is larger than the specified SIZE. The SIZE value can be
-suffixed with a letter to indicate a size multiplier (K, M, or G) and
-may be a fractional value (e.g. "bf(--max-size=1.5m)").
+dit(bf(--remove-sent-files)) This tells rsync to remove from the sending
+side the files and/or symlinks that are newly created or whose content is
+updated on the receiving side. Directories and devices are not removed,
+nor are files/symlinks whose attributes are merely changed.
dit(bf(--delete)) This tells rsync to delete extraneous files from the
receiving side (ones that aren't on the sending side), but only for the
is only relevant without bf(--delete) because deletions are now done depth-first.
Requires the bf(--recursive) option (which is implied by bf(-a)) to have any effect.
+dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
+files or directories. This is useful when mirroring very large trees
+to prevent disasters.
+
+dit(bf(--max-size=SIZE)) This tells rsync to avoid transferring any
+file that is larger than the specified SIZE. The SIZE value can be
+suffixed with a letter to indicate a size multiplier (K, M, or G) and
+may be a fractional value (e.g. "bf(--max-size=1.5m)").
+
dit(bf(-B, --block-size=BLOCKSIZE)) This forces the block size used in
the rsync algorithm to a fixed value. It is normally selected based on
the size of each file being updated. See the technical report for details.
transferred on the receiving side. The default behavior is to create
the temporary files in the receiving directory.
+dit(bf(-y, --fuzzy)) This option tells rsync that it should look for a
+basis file for any destination file that is missing. The current algorithm
+looks in the same directory as the destination file for either a file that
+has an identical size and modified-time, or a similarly-named file. If
+found, rsync uses the fuzzy basis file to try to speed up the transfer.
+
+Note that the use of the bf(--delete) option might get rid of any potential
+fuzzy-match files, so either use bf(--delete-after) or specify some
+filename exclusions if you need to prevent this.
+
dit(bf(--compare-dest=DIR)) This option instructs rsync to use em(DIR) on
the destination machine as an additional hierarchy to compare destination
files against doing transfers (if the files are missing in the destination
dit(bf(--no-blocking-io)) Turn off bf(--blocking-io), for use when it is the
default.
+dit(bf(-i, --itemize-changes)) Requests a simple itemized list of the
+changes that are being made to each file, including attribute changes.
+This is equivalent to specifying bf(--log-format='%i %n%L'). (See the
+description of what the output of '%i' means in the rsyncd.conf manpage.)
+Rsync also mentions the delete action when an item replaces an item of a
+different type (e.g. a directory replaces a file of the same name).
+
dit(bf(--log-format=FORMAT)) This allows you to specify exactly what the
-rsync client logs to stdout on a per-file basis. The log format is
-specified using the same format conventions as the log format option in
-rsyncd.conf.
+rsync client logs to stdout on a per-file basis. This format can be used
+without bf(--verbose) to enable just the outputting of the file-transfer
+information, or it can be used to change how the names are output when
+bf(--verbose) is enabled. Rsync will log the name of an item prior to its
+transfer unless one of the transferred-byte-count values is requested, in
+which case the logging is done at the end of the item's transfer. In this
+late-transfer state, if bf(--progress) is also specified, rsync will output
+just the name of the file prior to the progress information.
+
+The log format is specified using the same format conventions as the
+"log format" option in rsyncd.conf, so see that manpage for details.
+(Note that this option does not affect what a daemon logs to its logfile.)
dit(bf(--stats)) This tells rsync to print a verbose set of statistics
on the file transfer, allowing you to tell how effective the rsync