X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/0dfffb88e142e043f6347407dbde591fd1c1c5e6..e1ad7fe63d98b4aace63a0f1ab502db8e88063f6:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 0770d2f2..0f2edcee 100644 --- a/rsync.yo +++ b/rsync.yo @@ -324,7 +324,7 @@ to the detailed description below for a complete description. verb( -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 @@ -332,6 +332,7 @@ to the detailed description below for a complete description. verb( --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) @@ -350,21 +351,22 @@ to the detailed description below for a complete description. verb( -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 + -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 @@ -372,6 +374,7 @@ to the detailed description below for a complete description. verb( --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 @@ -379,8 +382,8 @@ to the detailed description below for a complete description. verb( --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 @@ -392,8 +395,8 @@ accepted: verb( --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() @@ -418,6 +421,15 @@ information on what files are being skipped and slightly more 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 @@ -451,7 +463,7 @@ receiver are not transferred. This option can be quite slow. 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 @@ -663,14 +675,10 @@ dit(bf(--ignore-existing)) 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 @@ -741,6 +749,15 @@ they are not empty when they are to be replaced by non-directories. This 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. @@ -909,6 +926,16 @@ scratch directory when creating temporary copies of the files 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 @@ -956,15 +983,14 @@ bf(--link-dest) from working properly for a non-root user when bf(-o) was specif (or implied by bf(-a)). You can work-around this bug by avoiding the bf(-o) option when sending to an old rsync. -dit(bf(-z, --compress)) With this option, rsync compresses any data from -the files that it sends to the destination machine. This -option is useful on slow connections. The compression method used is the -same method that gzip uses. +dit(bf(-z, --compress)) With this option, rsync compresses the file data +as it is sent to the destination machine, which reduces the amount of data +being transmitted -- something that is useful over a slow connection. -Note this this option typically achieves better compression ratios -that can be achieved by using a compressing remote shell, or a -compressing transport, as it takes advantage of the implicit -information sent for matching data blocks. +Note this this option typically achieves better compression ratios that can +be achieved by using a compressing remote shell or a compressing transport +because it takes advantage of the implicit information in the matching data +blocks that are not explicitly sent over the connection. dit(bf(--numeric-ids)) With this option rsync will transfer numeric group and user IDs rather than using user and group names and mapping them @@ -1001,10 +1027,26 @@ ssh prefers non-blocking I/O.) 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