X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/32a5edf43f92422d4414b5a519c271ba00623248..ea38b5af722f8c343871c197c5f09cbca77e2384:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 77d906e0..1daed83e 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsync)(1)(30 Sep 2004)()() +manpage(rsync)(1)(22 Feb 2005)()() manpagename(rsync)(faster, flexible replacement for rcp) manpagesynopsis() @@ -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,21 @@ 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 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 +373,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 +381,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 +394,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 +420,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 +462,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 @@ -503,6 +514,8 @@ dit(bf(-b, --backup)) With this option, preexisting destination files are renamed as each file is transferred or deleted. You can control where the backup file goes and what (if any) suffix gets appended using the bf(--backup-dir) and bf(--suffix) options. +Note that if you don't specify bf(--backup-dir), the bf(--omit-dir-times) +option will be enabled. dit(bf(--backup-dir=DIR)) In combination with the bf(--backup) option, this tells rsync to store all backups in the specified directory. This is @@ -510,8 +523,6 @@ very useful for incremental backups. You can additionally specify a backup suffix using the bf(--suffix) option (otherwise the files backed up in the specified directory will keep their original filenames). -If DIR is a relative path, it is relative to the destination directory -(which changes in a recursive transfer). dit(bf(--suffix=SUFFIX)) This option allows you to override the default backup suffix used with the bf(--backup) (bf(-b)) option. The default suffix is a ~ @@ -544,8 +555,8 @@ bound. The option implies bf(--partial) (since an interrupted transfer does not delete the file), but conflicts with bf(--partial-dir) and bf(--delay-updates). -Prior to rsync 2.6.4 bf(--inplace) was also incompatible with bf(--compare-dest), -bf(--copy-dest), and bf(--link-dest). +Prior to rsync 2.6.4 bf(--inplace) was also incompatible with bf(--compare-dest) +and bf(--link-dest). WARNING: The file's data will be in an inconsistent state during the transfer (and possibly afterward if the transfer gets interrupted), so you @@ -641,6 +652,7 @@ if the files haven't actually changed, you're much better off using bf(-t)). dit(bf(-O, --omit-dir-times)) This tells rsync to omit directories when it is preserving modification times (see bf(--times)). If NFS is sharing the directories on the receiving side, it is a good idea to use bf(-O). +This option is inferred if you use bf(--backup) without bf(--backup-dir). dit(bf(-n, --dry-run)) This tells rsync to not do any file transfers, instead it will just report the actions it would have taken. @@ -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 @@ -923,19 +950,9 @@ finds an existing file. That first discovery is used as the basis file, and also determines if the transfer needs to happen. If em(DIR) is a relative path, it is relative to the destination directory. -See also bf(--copy-dest) and bf(--link-dest). - -dit(bf(--copy-dest=DIR)) This option behaves like bf(--compare-dest), but -rsync will also copy unchanged files found in em(DIR) to the destination -directory (using the data in the em(DIR) for an efficient copy). This is -useful for doing transfers to a new destination while leaving existing -files intact, and then doing a flash-cutover when all files have been -successfully transferred. - -If em(DIR) is a relative path, it is relative to the destination directory. -See also bf(--compare-dest) and bf(--link-dest). +See also bf(--link-dest). -dit(bf(--link-dest=DIR)) This option behaves like bf(--copy-dest), but +dit(bf(--link-dest=DIR)) This option behaves like bf(--compare-dest), but unchanged files are hard linked from em(DIR) to the destination directory. The files must be identical in all preserved attributes (e.g. permissions, possibly ownership) in order for the files to be linked together. @@ -949,7 +966,7 @@ the list in the order specified), and if not found, a basis file from one of the em(DIR)s will be selected to try to speed up the transfer. If em(DIR) is a relative path, it is relative to the destination directory. -See also bf(--compare-dest) and bf(--copy-dest). +See also bf(--compare-dest). Note that rsync versions prior to 2.6.1 had a bug that could prevent bf(--link-dest) from working properly for a non-root user when bf(-o) was specified @@ -1000,10 +1017,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