When setting an flist entry's flags, mask it with LIVE_FLAGS.
[rsync/rsync.git] / rsync.yo
index 2840dbb..6710d9d 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -1,5 +1,5 @@
 mailto(rsync-bugs@samba.org)
-manpage(rsync)(1)(26 Jan 2003)()()
+manpage(rsync)(1)(1 Jan 2004)()()
 manpagename(rsync)(faster, flexible replacement for rcp)
 manpagesynopsis()
 
@@ -35,7 +35,7 @@ itemize(
   it() support for copying links, devices, owners, groups and permissions
   it() exclude and exclude-from options similar to GNU tar
   it() a CVS exclude mode for ignoring the same files that CVS would ignore
-  it() can use any transparent remote shell, including rsh or ssh
+  it() can use any transparent remote shell, including ssh or rsh
   it() does not require root privileges
   it() pipelining of file transfers to minimize latency costs
   it() support for anonymous or authenticated rsync servers (ideal for
@@ -51,8 +51,8 @@ itemize(
             source nor destination path contains a : separator
 
        it() for copying from the local machine to a remote machine using
-       a remote shell program as the transport (such as rsh or
-       ssh). This is invoked when the destination path contains a
+       a remote shell program as the transport (such as ssh or
+       rsh). This is invoked when the destination path contains a
        single : separator.
 
        it() for copying from a remote machine to the local machine
@@ -93,9 +93,9 @@ See the file README for installation instructions.
 
 Once installed, you can use rsync to any machine that you can access via
 a remote shell (as well as some that you can access using the rsync
-daemon-mode protocol).  For remote transfers, rsync typically uses rsh
+daemon-mode protocol).  For remote transfers, a modern rsync uses ssh
 for its communications, but it may have been configured to use a
-different remote shell by default, such as ssh.
+different remote shell by default, such as rsh or remsh.
 
 You can also specify any remote shell you like, either by using the -e
 command line option, or by setting the RSYNC_RSH environment variable.
@@ -194,8 +194,8 @@ users. On those systems using --password-file is recommended.
 manpagesection(CONNECTING TO AN RSYNC SERVER OVER A REMOTE SHELL PROGRAM)
 
 It is sometimes useful to be able to set up file transfers using rsync
-server capabilities on the remote machine, while still using rsh or
-ssh for transport.  This is especially useful when you want to connect
+server capabilities on the remote machine, while still using ssh or
+rsh for transport.  This is especially useful when you want to connect
 to a remote machine via ssh (for encryption or to get through a
 firewall), but you still want to have access to the rsync server
 features (see RUNNING AN RSYNC SERVER OVER A REMOTE SHELL PROGRAM,
@@ -285,9 +285,9 @@ verb(
  -R, --relative              use relative path names
      --no-relative           turn off --relative
      --no-implied-dirs       don't send implied dirs with -R
- -b, --backup                make backups (see --suffix)
+ -b, --backup                make backups (see --suffix & --backup-dir)
      --backup-dir            make backups into this directory
-     --suffix=SUFFIX         define backup suffix (default ~ w/o --backup-dir)
+     --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
  -u, --update                update only (don't overwrite newer files)
  -l, --links                 copy symlinks as symlinks
  -L, --copy-links            copy the referent of symlinks
@@ -305,24 +305,24 @@ verb(
      --no-whole-file         turn off --whole-file
  -x, --one-file-system       don't cross filesystem boundaries
  -B, --block-size=SIZE       checksum blocking size (default 700)
- -e, --rsh=COMMAND           specify the remote shell to use
+ -e, --rsh=COMMAND           specify the remote shell
      --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 the receiving side
-     --delete                delete files that don't exist on the sending side
-     --delete-excluded       also delete excluded files on the receiving side
-     --delete-after          delete after transferring, not before
+     --ignore-existing       ignore files that already exist on receiver
+     --delete                delete files that don't exist on sender
+     --delete-excluded       also delete excluded files on receiver
+     --delete-after          receiver deletes after transfer, not before
      --ignore-errors         delete even if there are IO errors
      --max-delete=NUM        don't delete more than NUM files
      --partial               keep partially transferred files
-     --force                 force deletion of directories even if not empty
+     --force                 force deletion of dirs even if not empty
      --numeric-ids           don't map uid/gid values by user/group name
      --timeout=TIME          set IO timeout in seconds
- -I, --ignore-times          don't exclude files that match length and time
-     --size-only             only use file size when determining if a file should be transferred
-     --modify-window=NUM     Timestamp window (seconds) for file match (default=0)
+ -I, --ignore-times          turn off mod time & file size quick check
+     --size-only             ignore mod time for quick check (use size)
+     --modify-window=NUM     compare mod times with reduced accuracy
  -T  --temp-dir=DIR          create temporary files in directory DIR
-     --compare-dest=DIR      also compare destination files relative to DIR
+     --compare-dest=DIR      also compare received files relative to DIR
      --link-dest=DIR         create hardlinks to DIR for unchanged files
  -P                          equivalent to --partial --progress
  -z, --compress              compress file data
@@ -332,7 +332,7 @@ verb(
      --include=PATTERN       don't exclude files matching PATTERN
      --include-from=FILE     don't exclude patterns listed in FILE
      --files-from=FILE       read FILE for list of source-file names
- -0  --from0                 file names we read are separated by nulls, not newlines
+ -0  --from0                 all file lists are delimited by nulls
      --version               print version number
      --daemon                run as a rsync daemon
      --no-detach             do not detach from the parent
@@ -346,8 +346,8 @@ verb(
      --log-format=FORMAT     log file transfers using specified format
      --password-file=FILE    get password from FILE
      --bwlimit=KBPS          limit I/O bandwidth, KBytes per second
-     --read-batch=PREFIX     read batch fileset starting with PREFIX
      --write-batch=PREFIX    write batch fileset starting with PREFIX
+     --read-batch=PREFIX     read batch fileset starting with PREFIX
  -h, --help                  show this help screen
 
 
@@ -381,11 +381,11 @@ from the remote server. This flag is useful when invoking rsync from
 cron.
 
 dit(bf(-I, --ignore-times)) Normally rsync will skip any files that are
-already the same length and have the same time-stamp. This option turns
-off this behavior.
+already the same size and have the same modification time-stamp.
+This option turns off this "quick check" behavior.
 
 dit(bf(--size-only)) Normally rsync will skip any files that are
-already the same length and have the same time-stamp. With the
+already the same size and have the same modification time-stamp. With the
 --size-only option files will be skipped if they have the same size,
 regardless of timestamp. This is useful when starting to use rsync
 after using another mirroring system which may not preserve timestamps
@@ -580,10 +580,10 @@ receiving side that are not on the sending side, this tells rsync to also
 delete any files on the receiving side that are excluded (see --exclude).
 Implies --delete.
 
-dit(bf(--delete-after)) By default rsync does file deletions before
-transferring files to try to ensure that there is sufficient space on
-the receiving filesystem. If you want to delete after transferring
-then use the --delete-after switch. Implies --delete.
+dit(bf(--delete-after)) By default rsync does file deletions on the
+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.
 
 dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
 even when there are IO errors.
@@ -598,8 +598,8 @@ the rsync algorithm. See the technical report for details.
 
 dit(bf(-e, --rsh=COMMAND)) This option allows you to choose an alternative
 remote shell program to use for communication between the local and
-remote copies of rsync. Typically, rsync is configured to use rsh by
-default, but you may prefer to use ssh because of its high security.
+remote copies of rsync. Typically, rsync is configured to use ssh by
+default, but you may prefer to use rsh on a local network.
 
 If this option is used with bf([user@]host::module/path), then the
 remote shell em(COMMMAND) will be used to run an rsync server on the
@@ -800,11 +800,10 @@ dit(bf(--port=PORT)) This specifies an alternate TCP port number to use
 rather than the default port 873.
 
 dit(bf(--blocking-io)) This tells rsync to use blocking IO when launching
-a remote shell transport.  If -e or --rsh are not specified or are set to
-the default "rsh", this defaults to blocking IO, otherwise it defaults to
-non-blocking IO.  You may find the --blocking-io option is needed for some
-remote shells that can't handle non-blocking IO.  (Note that ssh prefers
-non-blocking IO.)
+a remote shell transport.  If the remote shell is either rsh or remsh,
+rsync defaults to using
+blocking IO, otherwise it defaults to using non-blocking IO.  (Note that
+ssh prefers non-blocking IO.)
 
 dit(bf(--no-blocking-io)) Turn off --blocking-io, for use when it is the
 default.
@@ -829,6 +828,29 @@ showing the progress of the transfer. This gives a bored user
 something to watch.
 Implies --verbose without incrementing verbosity.
 
+When the file is transferring, the data looks like this:
+
+verb(
+      782448  63%  110.64kB/s    0:00:04
+)
+
+This tells you the current file size, the percentage of the transfer that
+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:
+
+verb(
+     1238099 100%  146.38kB/s    0:00:08  (5, 57.1% of 396)
+)
+
+This tells you the final file size, that it's 100% complete, the final
+transfer rate for the file, the amount of elapsed time it took to transfer
+the file, and the addition of a total-transfer summary in parentheses.
+These additional numbers tell you how many files have been updated, and
+what percent of the total number of files has been scanned.
+
 dit(bf(-P)) The -P option is equivalent to --partial --progress. I
 found myself typing that combination quite often so I created an
 option to make it easier.
@@ -1007,9 +1029,9 @@ Example:
 verb(
 $ rsync --write-batch=pfx -a /source/dir/ /adest/dir/
 $ rcp pfx.rsync_* remote:
-$ rsh remote rsync --read-batch=pfx -a /bdest/dir/
+$ ssh remote rsync --read-batch=pfx -a /bdest/dir/
 # or alternatively
-$ rsh remote ./pfx.rsync_argvs /bdest/dir/
+$ ssh remote ./pfx.rsync_argvs /bdest/dir/
 )
 
 In this example, rsync is used to update /adest/dir/ with /source/dir/
@@ -1081,7 +1103,7 @@ for its transport. The way to diagnose this problem is to run your
 remote shell like this:
 
 verb(
-   rsh remotehost /bin/true > out.dat
+   ssh remotehost /bin/true > out.dat
 )
        
 then look at out.dat. If everything is working correctly then out.dat