X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3b2ef5b11cb90a2f646f770dfe9c1b2fdbbcf223..2a5d5a8cc4ad251d8d29e45e4be3d9c39228715b:/rsync.yo diff --git a/rsync.yo b/rsync.yo index d647fb80..486ffae3 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsync)(1)(28 Feb 2005)()() +manpage(rsync)(1)(30 Mar 2005)()() manpagename(rsync)(faster, flexible replacement for rcp) manpagesynopsis() @@ -353,6 +353,7 @@ to the detailed description below for a complete description. verb( -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 @@ -366,6 +367,7 @@ to the detailed description below for a complete description. verb( --files-from=FILE read list of source-file names from FILE -0, --from0 all *from file lists are delimited by nulls --version print version number + --address=ADDRESS bind address for outgoing socket to daemon --port=PORT specify double-colon alternate port number --blocking-io use blocking I/O for the remote shell --no-blocking-io turn off blocking I/O when it is default @@ -378,7 +380,9 @@ to the detailed description below for a complete description. verb( --list-only list the files instead of copying them --bwlimit=KBPS limit I/O bandwidth; KBytes per second --write-batch=FILE write a batched update to FILE + --only-write-batch=FILE like --write-batch but w/o updating dest --read-batch=FILE read a batched update from FILE + --protocol=NUM force an older protocol version to be used --checksum-seed=NUM set block/file checksum seed (advanced) -4, --ipv4 prefer IPv4 -6, --ipv6 prefer IPv6 @@ -954,13 +958,30 @@ have changed from an earlier backup. Beginning in version 2.6.4, multiple bf(--compare-dest) directories may be provided, which will cause rsync to search the list in the order specified for an exact match. +If a match is found that differs only in attributes, a local copy is made +and the attributes updated. If a match is 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(--link-dest). +See also bf(--copy-dest) and bf(--link-dest). -dit(bf(--link-dest=DIR)) This option behaves like bf(--compare-dest), but +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 a local 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. + +Multiple bf(--copy-dest) directories may be provided, which will cause +rsync to search the list in the order specified for an unchanged file. +If a match is 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(--link-dest). + +dit(bf(--link-dest=DIR)) This option behaves like bf(--copy-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. @@ -971,11 +992,13 @@ quote(tt( rsync -av --link-dest=$PWD/prior_dir host:src_dir/ new_dir/)) Beginning in version 2.6.4, multiple bf(--link-dest) directories may be provided, which will cause rsync to search the list in the order specified for an exact match. +If a match is found that differs only in attributes, a local copy is made +and the attributes updated. If a match is 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). +See also bf(--compare-dest) and bf(--copy-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 @@ -1011,6 +1034,11 @@ dit(bf(--timeout=TIMEOUT)) This option allows you to set a maximum I/O timeout in seconds. If no data is transferred for the specified time then rsync will exit. The default is 0, which means no timeout. +dit(bf(--address)) By default rsync will bind to the wildcard address when +connecting to an rsync daemon. The bf(--address) option allows you to +specify a specific IP address (or hostname) to bind to. See also this +option in the bf(--daemon) mode section. + dit(bf(--port=PORT)) This specifies an alternate TCP port number to use rather than the default of 873. This is only needed if you are using the double-colon (::) syntax to connect with an rsync daemon (since the URL @@ -1034,33 +1062,31 @@ The "%i" escape has a cryptic output that is 9 letters long. The general format is like the string bf(UXcstpoga)), where bf(U) is replaced by the kind of update being done, bf(X) is replaced by the file-type, and the other letters represent attributes that may be output if they are being -updated. +modified. The update types that replace the bf(U) are as follows: quote(itemize( - it() A bf(<) means that a file is being transferred to the local host - (received). - it() A bf(>) means that a file is being transferred to the remote host + it() A bf(<) means that a file is being transferred to the remote host (sent). + it() A bf(>) means that a file is being transferred to the local host + (received). it() A bf(c) means that a local change/creation is occuring for the item - (such as the creation of a directory or a symlink). + (such as the creation of a directory or the changing of a symlink, etc.). it() A bf(h) means that the item is a hard-link to another item (requires bf(--hard-links)). - it() A bf(.) means that the item only has attributes that are being - changed. - it() A bf(=) means that the item is identical (this only only output for - higher levels of verbosity). + it() A bf(.) means that the item is not being updated (though it might + have attributes that are being modified). )) The file-types that replace the bf(X) are: bf(f) for a file, a bf(d) for a -dir, an bf(L) for a symlink, and a bf(D) for a device. +directory, an bf(L) for a symlink, and a bf(D) for a device. The other letters in the string above are the actual letters that will be output if the associated attribute for the item is being updated or a "." for no change. Three exceptions to this are: (1) a newly created -item replaces each letter with a "+", (2) an identical item replaces each -letter with a space, and (3) an unknown attribute replaces each letter with +item replaces each letter with a "+", (2) an identical item replaces the +dots with spaces, and (3) an unknown attribute replaces each letter with a "?" (this happens when talking to an older rsync). The attribute that is associated with each letter is as follows: @@ -1086,7 +1112,7 @@ quote(itemize( )) One other output is possible: when deleting files, the "%i" will output -the string "deleting" for each item that is being removed (assuming that +the string "*deleting" for each item that is being removed (assuming that you are talking to a recent enough rsync that it logs deletions instead of outputting them as a verbose message). @@ -1250,13 +1276,38 @@ of zero specifies no limit. dit(bf(--write-batch=FILE)) Record a file that can later be applied to another identical destination with bf(--read-batch). See the "BATCH MODE" -section for details. +section for details, and also the bf(--only-write-batch) option. + +dit(bf(--only-write-batch=FILE)) Works like bf(--write-batch), except that +no updates are made on the destination system when creating the batch. +This lets you transport the changes to the destination system via some +other means and then apply the changes via bf(--read-batch). + +Note that you can feel free to write the batch directly to some portable +media: if this media fills to capacity before the end of the transfer, you +can just apply that partial transfer to the destination and repeat the +whole process to get the rest of the changes (as long as you don't mind a +partially updated destination system while the multi-update cycle is +happening). + +Also note that you only save bandwidth when pushing changes to a remote +system because this allows the batched data to be diverted from the sender +into the batch file without having to flow over the wire to the receiver +(when pulling, the sender is remote, and thus can't write the batch). dit(bf(--read-batch=FILE)) Apply all of the changes stored in FILE, a file previously generated by bf(--write-batch). If em(FILE) is "-" the batch data will be read from standard input. See the "BATCH MODE" section for details. +dit(bf(--protocol=NUM)) Force an older protocol version to be used. This +is useful for creating a batch file that is compatible with an older +version of rsync. For instance, if rsync 2.6.4 is being used with the +bf(--write-batch) option, but rsync 2.6.3 is what will be used to run the +bf(--read-batch) option, you should use "--protocol=28" (when creating the +batch file) to force the older protocol version to be used in the batch +file (assuming you can't upgrade the rsync on the reading system to 2.6.4). + 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 control over, such as the outgoing socket when directly contacting an @@ -1289,12 +1340,11 @@ become a background daemon. The daemon will read the config file requests accordingly. See the rsyncd.conf(5) man page for more details. -dit(bf(--address)) By default rsync will bind to the wildcard address -when run as a daemon with the bf(--daemon) option or when connecting to a -rsync server. The bf(--address) option allows you to specify a specific IP -address (or hostname) to bind to. This makes virtual hosting possible -in conjunction with the bf(--config) option. See also the "address" global -option in the rsyncd.conf manpage. +dit(bf(--address)) By default rsync will bind to the wildcard address when +run as a daemon with the bf(--daemon) option. The bf(--address) option +allows you to specify a specific IP address (or hostname) to bind to. This +makes virtual hosting possible in conjunction with the bf(--config) option. +See also the "address" global option in the rsyncd.conf manpage. dit(bf(--bwlimit=KBPS)) This option allows you to specify a maximum transfer rate in kilobytes per second for the data the daemon sends. @@ -1836,7 +1886,7 @@ Caveats: The read-batch option expects the destination tree that it is updating to be identical to the destination tree that was used to create the batch update fileset. When a difference between the destination trees -is encountered the update might be discarded with no error (if the file +is encountered the update might be discarded with a warning (if the file appears to be up-to-date already) or the file-update may be attempted and then, if the file fails to verify, the update discarded with an error. This means that it should be safe to re-run a read-batch operation @@ -1851,10 +1901,10 @@ destination tree. The rsync version used on all destinations must be at least as new as the one used to generate the batch file. Rsync will die with an error if the protocol version in the batch file is too new for the batch-reading rsync -to handle. - -The bf(--dry-run) (bf(-n)) option does not work in batch mode and yields a runtime -error. +to handle. See also the bf(--protocol) option for a way to have the +creating rsync generate a batch file that an older rsync can understand. +(Note that batch files changed format in version 2.6.3, so mixing versions +older than that with newer versions will not work.) When reading a batch file, rsync will force the value of certain options to match the data in the batch file if you didn't set them to the same @@ -1938,6 +1988,7 @@ was made to manipulate 64-bit files on a platform that cannot support them; or an option was specified that is supported by the client and not by the server. dit(bf(5)) Error starting client-server protocol +dit(bf(6)) Daemon unable to append to log-file dit(bf(10)) Error in socket I/O dit(bf(11)) Error in file I/O dit(bf(12)) Error in rsync protocol data stream @@ -1948,6 +1999,7 @@ dit(bf(21)) Some error returned by waitpid() dit(bf(22)) Error allocating core memory buffers dit(bf(23)) Partial transfer due to error dit(bf(24)) Partial transfer due to vanished source files +dit(bf(25)) The --max-delete limit stopped deletions dit(bf(30)) Timeout in data send/receive enddit()