We don't need to complain about --inplace being combined with one
[rsync/rsync.git] / rsync.yo
index e4e498f..589545a 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -368,6 +368,7 @@ verb(
      --files-from=FILE       read FILE for list of source-file names
  -0  --from0                 all 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
      --no-blocking-io        turn off --blocking-io
      --stats                 give some file transfer stats
@@ -391,7 +392,7 @@ verb(
      --bwlimit=KBPS          limit I/O bandwidth, KBytes per second
      --config=FILE           specify alternate rsyncd.conf file
      --no-detach             do not detach from the parent
-     --port=PORT             specify alternate rsyncd port number
+     --port=PORT             listen on alternate port number
  -4  --ipv4                  prefer IPv4
  -6  --ipv6                  prefer IPv6
  -h, --help                  show this help screen
@@ -466,15 +467,21 @@ just the last parts of the filenames. This is particularly useful when
 you want to send several different directories at the same time. For
 example, if you used the command
 
-verb(rsync foo/bar/foo.c remote:/tmp/)
+verb(rsync /foo/bar/foo.c remote:/tmp/)
 
 then this would create a file called foo.c in /tmp/ on the remote
 machine. If instead you used
 
-verb(rsync -R foo/bar/foo.c remote:/tmp/)
+verb(rsync -R /foo/bar/foo.c remote:/tmp/)
 
 then a file called /tmp/foo/bar/foo.c would be created on the remote
-machine -- the full path name is preserved.
+machine -- the full path name is preserved.  To limit the amount of
+path information that is sent, do something like this:
+
+verb(cd /foo
+rsync -R bar/foo.c remote:/tmp/)
+
+That would create /tmp/bar/foo.c on the remote machine.
 
 dit(bf(--no-relative)) Turn off the --relative option.  This is only
 needed if you want to use --files-from without its implied --relative
@@ -509,11 +516,13 @@ dit(bf(--suffix=SUFFIX)) This option allows you to override the default
 backup suffix used with the --backup (-b) option. The default suffix is a ~
 if no --backup-dir was specified, otherwise it is an empty string.
 
-dit(bf(-u, --update)) This forces rsync to skip any files for which the
-destination file already exists and has a date later than the source
-file.
+dit(bf(-u, --update)) This forces rsync to skip any files which exist on
+the destination and have a modified time that is newer than the source
+file.  (If an existing destination file has a modify time equal to the
+source file's, it will be updated if the sizes are different.)
 
-In the currently implementation, a difference of file format is always
+In the current implementation of --update, a difference of file format
+between the sender and receiver is always
 considered to be important enough for an update, no matter what date
 is on the objects.  In other words, if the source has a directory or a
 symlink where the destination has a file, the transfer would occur
@@ -649,17 +658,22 @@ 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. "--max-size=1.5m").
 
-dit(bf(--delete)) This tells rsync to delete any files on the receiving
-side that aren't on the sending side.   Files that are excluded from
-transfer are excluded from being deleted unless you use --delete-excluded.
+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
+directories that are being synchronized.  You must have asked rsync to
+send the whole directory (e.g. "dir" or "dir/") without using a wildcard
+for the directory's contents (e.g. "dir/*") since the wildcard is expanded
+by the shell and rsync thus gets a request to transfer those files, not
+the files' parent directory.  Files that are excluded from transfer are
+excluded from being deleted unless you use --delete-excluded.
 
 This option has no effect if directory recursion is not selected.
 
 This option can be dangerous if used incorrectly!  It is a very good idea
-to run first using the dry run option (-n) to see what files would be
+to run first using the --dry-run option (-n) to see what files would be
 deleted to make sure important files aren't listed.
 
-If the sending side detects any I/O errors then the deletion of any
+If the sending side detects any I/O errors, then the deletion of any
 files at the destination will be automatically disabled. This is to
 prevent temporary filesystem failures (such as NFS errors) on the
 sending side causing a massive deletion of files on the
@@ -675,6 +689,10 @@ receiving side before transferring files to try to ensure that there is
 sufficient space on the receiving filesystem. If you want to delete
 after transferring, use the --delete-after switch. Implies --delete.
 
+One reason to use --delete-after is to avoid a delay before the start of
+the transfer (while the receiving side is scanned for deletions) as this
+delay might cause the transfer to timeout.  
+
 dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
 even when there are I/O errors.
 
@@ -888,6 +906,12 @@ 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(--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
+syntax has a way to specify the port as a part of the URL).  See also this
+option in the --daemon mode section.
+
 dit(bf(--blocking-io)) This tells rsync to use blocking I/O when launching
 a remote shell transport.  If the remote shell is either rsh or remsh,
 rsync defaults to using
@@ -968,7 +992,7 @@ is complete, the current calculated file-completion rate (including both
 data over the wire and data being matched locally), and the estimated time
 remaining in this transfer.
 
-After the a file is complete, it the data looks like this:
+After a file is complete, the data looks like this:
 
 verb(
      1238099 100%  146.38kB/s    0:00:08  (5, 57.1% of 396)
@@ -1011,7 +1035,7 @@ See the "BATCH MODE" section for details.
 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
-rsync daemon (see also these options in the --daemon mode section).
+rsync daemon.  See also these options in the --daemon mode section.
 
 dit(bf(--checksum-seed=NUM)) Set the MD4 checksum seed to the integer
 NUM.  This 4 byte checksum seed is included in each block and file
@@ -1044,7 +1068,8 @@ dit(bf(--address)) By default rsync will bind to the wildcard address
 when run as a daemon with the --daemon option or when connecting to a
 rsync server. The --address option allows you to specify a specific IP
 address (or hostname) to bind to. This makes virtual hosting possible
-in conjunction with the --config option.
+in conjunction with the --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.
@@ -1067,8 +1092,9 @@ bf(--no-detach) is also recommended when rsync is run under a
 debugger.  This option has no effect if rsync is run from inetd or
 sshd.
 
-dit(bf(--port=PORT)) This specifies an alternate TCP port number to use
-rather than the default port 873.
+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(-4, --ipv4) or bf(-6, --ipv6)) Tells rsync to prefer IPv4/IPv6
 when creating the incoming sockets that the rsync daemon will use to