--suffix=SUFFIX backup suffix (default ~ w/o --backup-dir)
-u, --update update only (don't overwrite newer files)
--inplace update the destination files in-place
- -K, --keep-dirlinks treat symlinked dir on receiver as dir
+ -d, --dirs transfer directories without recursing
-l, --links copy symlinks as symlinks
-L, --copy-links copy the referent of all symlinks
--copy-unsafe-links copy the referent of "unsafe" symlinks
--safe-links ignore "unsafe" symlinks
-H, --hard-links preserve hard links
+ -K, --keep-dirlinks treat symlinked dir on receiver as dir
-p, --perms preserve permissions
-o, --owner preserve owner (root only)
-g, --group preserve group
-D, --devices preserve devices (root only)
-t, --times preserve times
+ -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 whole files, no incremental checks
--existing only update files that already exist
--ignore-existing ignore files that already exist on receiver
--delete delete files that don't exist on sender
+ --delete-before receiver deletes before xfer, not during
+ --delete-after receiver deletes after transfer, not during
--delete-excluded also delete excluded files on receiver
- --delete-after receiver deletes after transfer, not before
--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
--max-size=SIZE don't transfer any file larger than SIZE
--partial keep partially transferred files
--partial-dir=DIR put a partially transferred file into DIR
- --force force deletion of dirs even if not empty
--numeric-ids don't map uid/gid values by user/group name
--timeout=TIME set I/O timeout in seconds
-I, --ignore-times turn off mod time & file size quick check
--progress show progress during transfer
--log-format=FORMAT log file transfers using specified format
--password-file=FILE get password from FILE
+ --list-only list the files instead of copying them
--bwlimit=KBPS limit I/O bandwidth, KBytes per second
--write-batch=FILE write a batch to FILE
--read-batch=FILE read a batch from FILE
specify bf(-H).
dit(bf(-r, --recursive)) This tells rsync to copy directories
-recursively. If you don't specify this then rsync won't copy
-directories at all.
+recursively. See also --dirs (-d).
dit(bf(-R, --relative)) Use relative paths. This means that the full path
names specified on the command line are sent to the server rather than
regardless of the timestamps. This might change in the future (feel
free to comment on this on the mailing list if you have an opinion).
-dit(bf(-K, --keep-dirlinks)) On the receiving side, if a symlink is
-pointing to a directory, it will be treated as matching a directory
-from the sender.
-
dit(bf(--inplace)) This causes rsync not to create a new copy of the file
and then move it into place. Instead rsync will overwrite the existing
file, meaning that the rsync algorithm can't accomplish the full amount of
rsync will be unable to update a file in-place that is not writable by the
receiving user.
+dit(bf(-d, --dirs)) Tell the sending side to include any directories that
+are encountered. Unlike --recursive, a directory's contents are not copied
+unless the directory was specified on the command-line as either "." or a
+name with a trailing slash (e.g. "foo/"). Without this option or the
+--recursive option, rsync will skip all directories it encounters (and
+output a message to that effect for each one).
+
dit(bf(-l, --links)) When symlinks are encountered, recreate the
symlink on the destination.
This option can be quite slow, so only use it if you need it.
+dit(bf(-K, --keep-dirlinks)) On the receiving side, if a symlink is
+pointing to a directory, it will be treated as matching a directory
+from the sender.
+
dit(bf(-W, --whole-file)) With this option the incremental rsync algorithm
is not used and the whole file is sent as-is instead. The transfer may be
faster if this option is used when the bandwidth between the source and
updated (though the rsync algorithm will make the update fairly efficient
if the files haven't actually changed, you're much better off using -t).
+dit(bf(-O, --omit-dir-times)) This tells rsync to omit directories when
+it is preserving modification times (see --times). If NFS is sharing
+the directories on the receiving side, it is a good idea to use -O.
+
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.
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 has no effect unless directory recursion is enabled.
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
sending side causing a massive deletion of files on the
destination. You can override this with the --ignore-errors option.
+Beginning with 2.6.4, rsync does file deletions on the receiving side
+incrementally as each directory is being transferred (which makes the
+transfer more efficient than a separate delete pass before or after the
+transfer). If you are sending files to an older rsync, --delete will
+behave as --delete-before (see below). See also --delete-after.
+
+dit(bf(--delete-before)) Request that the file-deletions on the receving
+side be done prior to starting the transfer, not incrementally as the
+transfer happens. Implies --delete.
+
+One reason to use --delete-before is if the filesystem is tight for space
+and removing extraneous files would help to make the transfer possible.
+However, it does introduce a delay before the start of the transfer (while
+the receiving side is being scanned for deletions) and this delay might
+cause the transfer to timeout.
+
+dit(bf(--delete-after)) Request that the file-deletions on the receving
+side be done after the transfer has completed, not incrementally as the
+transfer happens. Implies --delete.
+
dit(bf(--delete-excluded)) In addition to deleting the files on the
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 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.
-
-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.
must not be world readable. It should contain just the password as a
single line.
+dit(bf(--list-only)) This option will cause the source files to be listed
+instead of transferred. This option is inferred if there is no destination
+specified, so you don't usually need to use it explicitly. However, it can
+come in handy for a power user that wants to avoid the "-r --exclude="/*/*"
+options that rsync might use as a compatibility kluge when generating a
+non-recursive listing.
+
dit(bf(--bwlimit=KBPS)) This option allows you to specify a maximum
transfer rate in kilobytes per second. This option is most effective when
using rsync with large files (several megabytes and up). Due to the nature