Mention the current limitation of the RSYNC_EXIT_STATUS value.
[rsync/rsync.git] / rsync.yo
index 75edc76..1a50881 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -1,5 +1,5 @@
 mailto(rsync-bugs@samba.org)
-manpage(rsync)(1)(12 Apr 2006)()()
+manpage(rsync)(1)(22 Apr 2006)()()
 manpagename(rsync)(faster, flexible replacement for rcp)
 manpagesynopsis()
 
@@ -337,15 +337,15 @@ to the detailed description below for a complete description.  verb(
  -B, --block-size=SIZE       force a fixed checksum block-size
  -e, --rsh=COMMAND           specify the remote shell to use
      --rsync-path=PROGRAM    specify the rsync to run on remote machine
-     --existing              ignore non-existing files on receiving side
-     --ignore-existing       ignore files that already exist on receiver
-     --remove-sent-files     sent files/symlinks are removed from sender
+     --existing              skip creating new files on receiver
+     --ignore-existing       skip updating files that exist on receiver
+     --remove-source-files   sender removes synchronized files (non-dir)
      --del                   an alias for --delete-during
-     --delete                delete files that don't exist on sender
+     --delete                delete extraneous files from dest dirs
      --delete-before         receiver deletes before transfer (default)
      --delete-during         receiver deletes during xfer, not before
      --delete-after          receiver deletes after transfer, not before
-     --delete-excluded       also delete excluded files on receiver
+     --delete-excluded       also delete excluded files from dest dirs
      --ignore-errors         delete even if there are I/O errors
      --force                 force deletion of dirs even if not empty
      --max-delete=NUM        don't delete more than NUM files
@@ -387,7 +387,9 @@ to the detailed description below for a complete description.  verb(
      --progress              show progress during transfer
  -P                          same as --partial --progress
  -i, --itemize-changes       output a change-summary for all updates
-     --log-format=FORMAT     output filenames using the specified format
+     --out-format=FORMAT     output updates using the specified FORMAT
+     --log-file=FILE         log what we're doing to the specified FILE
+     --log-file-format=FMT   log updates using the specified FMT
      --password-file=FILE    read password from FILE
      --list-only             list the files instead of copying them
      --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
@@ -410,6 +412,8 @@ accepted: verb(
      --config=FILE           specify alternate rsyncd.conf file
      --no-detach             do not detach from the parent
      --port=PORT             listen on alternate port number
+     --log-file=FILE         override the "log file" setting
+     --log-file-format=FMT   override the "log format" setting
      --sockopts=OPTIONS      specify custom TCP options
  -v, --verbose               increase verbosity
  -4, --ipv4                  prefer IPv4
@@ -442,13 +446,13 @@ 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
+a default bf(--out-format) of "%n%L", which tells you just the name of the
 file and, if the item is a link, 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
+bf(--itemize-changes) or adding "%i" to the bf(--out-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.
+any way.  See the bf(--out-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
@@ -905,17 +909,18 @@ treated like a mount-point.  Symlinks to non-directories are unaffected
 by this option.
 
 dit(bf(--existing, --ignore-non-existing)) This tells rsync to skip
-updating files that do not exist yet on the destination.  If this option is
+creating files (including directories) that do not exist
+yet on the destination.  If this option is
 combined with the bf(--ignore-existing) option, no files will be updated
-(which can be useful if all you want to do is to delete missing files).
+(which can be useful if all you want to do is to delete extraneous files).
 
 dit(bf(--ignore-existing)) This tells rsync to skip updating files that
-already exist on the destination.  See also bf(--ignore-non-existing).
+already exist on the destination (this does em(not) ignore existing
+directores, or nothing would get done).  See also bf(--existing).
 
-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(--remove-source-files)) This tells rsync to remove from the sending
+side the files (meaning non-directories) that are a part of the transfer
+and have been successfully duplicated on the receiving side.
 
 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
@@ -1366,7 +1371,7 @@ ssh prefers non-blocking I/O.)
 
 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 exactly the same as specifying bf(--log-format='%i %n%L').
+This is exactly the same as specifying bf(--out-format='%i %n%L').
 If you repeat the option, unchanged files will also be output, but only
 if the receiving rsync is at least version 2.6.7 (you can use bf(-vv)
 with older versions of rsync, but that also turns on the output of other
@@ -1430,31 +1435,52 @@ 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).
 
-dit(bf(--log-format=FORMAT)) This allows you to specify exactly what the
-rsync client outputs to the user on a per-file basis.  The format is a text
+dit(bf(--out-format=FORMAT)) This allows you to specify exactly what the
+rsync client outputs to the user on a per-update basis.  The format is a text
 string containing embedded single-character escape sequences prefixed with
 a percent (%) character.  For a list of the possible escape characters, see
-the "log format" setting in the rsyncd.conf manpage.  (Note that this
-option does not affect what a daemon logs to its logfile.)
+the "log format" setting in the rsyncd.conf manpage.
 
 Specifying this option will mention each file, dir, etc. that gets updated
 in a significant way (a transferred file, a recreated symlink/device, or a
-touched directory) unless the itemize-changes escape (%i) is included in
-the string, in which case the logging of names increases to mention any
+touched directory).  In addition, if the itemize-changes escape (%i) is
+included in the string, the logging of names increases to mention any
 item that is changed in any way (as long as the receiving side is at least
 2.6.4).  See the bf(--itemize-changes) option for a description of the
 output of "%i".
 
 The bf(--verbose) option implies a format of "%n%L", but you can use
-bf(--log-format) without bf(--verbose) if you like, or you can override
+bf(--out-format) without bf(--verbose) if you like, or you can override
 the format of its per-file output using this option.
 
-Rsync will output the log-format string prior to a file's transfer unless
+Rsync will output the out-format string prior to a file's transfer unless
 one of the transfer-statistic escapes is requested, in which case the
 logging is done at the end of the file's transfer.  When this late logging
 is in effect and bf(--progress) is also specified, rsync will also output
 the name of the file being transferred prior to its progress information
-(followed, of course, by the log-format output).
+(followed, of course, by the out-format output).
+
+dit(bf(--log-file=FILE)) This option causes rsync to log what it is doing
+to a file.  This is similar to the logging that a daemon does, but can be
+requested for the client side and/or the server side of a non-daemon
+transfer.  If specified as a client option, transfer logging will be
+enabled with a default format of "%i %n%L".  See the bf(--log-file-format)
+option if you wish to override this.
+
+Here's a example command that requests the remote side to log what is
+happening:
+
+verb(  rsync -av --rsync-path="rsync --log-file=/tmp/rlog" src/ dest/)
+
+This is very useful if you need to debug why a connection is closing
+unexpectedly.
+
+dit(bf(--log-file-format=FORMAT)) This allows you to specify exactly what
+per-update logging is put into the file specified by the bf(--log-file) option
+(which must also be specified for this option to have any effect).  If you
+specify an empty string, updated files will not be mentioned in the log file.
+For a list of the possible escape characters, see the "log format" setting
+in the rsyncd.conf manpage.
 
 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
@@ -1782,6 +1808,15 @@ dit(bf(--port=PORT)) This specifies an alternate TCP port number for the
 daemon to listen on rather than the default of 873.  See also the "port"
 global option in the rsyncd.conf manpage.
 
+dit(bf(--log-file=FILE)) This option tells the rsync daemon to use the
+given log-file name instead of using the "log file" setting in the config
+file.
+
+dit(bf(--log-file-format=FORMAT)) This option tells the rsync daemon to use the
+given FORMAT string instead of using the "log format" setting in the config
+file.  It also enables "transfer logging" unless the string is empty, in which
+case transfer logging is turned off.
+
 dit(bf(--sockopts)) This overrides the bf(socket options) setting in the
 rsyncd.conf file and has the same syntax.
 
@@ -2499,7 +2534,17 @@ url(http://rsync.samba.org/)(http://rsync.samba.org/)
 
 manpagesection(VERSION)
 
-This man page is current for version 2.6.8pre1 of rsync.
+This man page is current for version 2.6.8 of rsync.
+
+manpagesection(INTERNAL OPTIONS)
+
+The options bf(--server) and bf(--sender) are used internally by rsync,
+and should never be typed by a user under normal circumstances.  Some
+awareness of these options may be needed in certain scenarios, such as
+when setting up a login that can only run an rsync command.  For instance,
+the support directory of the rsync distribution has an example script
+named rrsync (for restricted rsync) that can be used with a restricted
+ssh login.
 
 manpagesection(CREDITS)