X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ae76a74043c0940fe4d1bfc3b68ceaca191e71b8..e95538ca2c8fdecd66a112635aa30077419af685:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 6f241b21..1566368a 100644 --- a/rsync.yo +++ b/rsync.yo @@ -307,23 +307,24 @@ to the detailed description below for a complete description. verb( -v, --verbose increase verbosity - -q, --quiet decrease verbosity + -q, --quiet suppress non-error messages -c, --checksum always checksum - -a, --archive archive mode, equivalent to -rlptgoD + -c, --checksum skip based on checksum, not mod-time & size + -a, --archive archive mode; same as -rlptgoD (no -H) -r, --recursive recurse into directories -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 & --backup-dir) - --backup-dir make backups into this directory + --backup-dir=DIR make backups into hierarchy based in DIR --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 + -u, --update skip files that are newer on the receiver + --inplace update destination files in-place -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 + -L, --copy-links transform symlink into referent file/dir + --copy-unsafe-links only "unsafe" symlinks are transformed + --safe-links ignore symlinks that point outside the tree -H, --hard-links preserve hard links -K, --keep-dirlinks treat symlinked dir on receiver as dir -p, --perms preserve permissions @@ -334,16 +335,17 @@ verb( -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 - --no-whole-file turn off --whole-file + -W, --whole-file copy files whole + --no-whole-file always use incremental rsync algorithm -x, --one-file-system don't cross filesystem boundaries -B, --block-size=SIZE force a fixed checksum block-size - -e, --rsh=COMMAND specify the remote shell + -e, --rsh=COMMAND specify the remote shell to use --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 receiver --del an alias for --delete-during --delete delete files that don't exist on sender + --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 @@ -353,40 +355,41 @@ verb( --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 + --delay-updates put all updated files into place at end --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 - --size-only ignore mod time for quick check (use size) - --modify-window=NUM compare mod times with reduced accuracy + -I, --ignore-times don't skip files that match size and time + --size-only skip files that match in 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 received files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged - -P equivalent to --partial --progress -z, --compress compress file data - -C, --cvs-exclude auto ignore files in the same way CVS does + -C, --cvs-exclude auto-ignore files in the same way CVS does -f, --filter=RULE add a file-filtering RULE -F same as --filter=': /.rsync-filter' repeated: --filter='- .rsync-filter' --exclude=PATTERN exclude files matching PATTERN - --exclude-from=FILE exclude patterns listed in FILE + --exclude-from=FILE read exclude patterns from FILE --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 all file lists are delimited by nulls + --include-from=FILE read include patterns from FILE + --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 --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 + --no-blocking-io turn off blocking I/O when it is default + --stats give some file-transfer stats --progress show progress during transfer - --log-format=FORMAT log file transfers using specified format - --password-file=FILE get password from FILE + -P same as --partial --progress + --log-format=FORMAT log file-transfers using specified format + --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 - --write-batch=FILE write a batch to FILE - --read-batch=FILE read a batch from FILE - --checksum-seed=NUM set block/file checksum seed + --bwlimit=KBPS limit I/O bandwidth; KBytes per second + --write-batch=FILE write a batched update to FILE + --read-batch=FILE read a batched update from FILE + --checksum-seed=NUM set block/file checksum seed (advanced) -4 --ipv4 prefer IPv4 -6 --ipv6 prefer IPv6 -h, --help show this help screen @@ -397,10 +400,11 @@ Rsync can also be run as a daemon, in which case the following options are accep verb( --daemon run as an rsync daemon --address=ADDRESS bind to the specified address - --bwlimit=KBPS limit I/O bandwidth, KBytes per second + --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 listen on alternate port number + -v, --verbose increase verbosity -4 --ipv4 prefer IPv4 -6 --ipv6 prefer IPv6 -h, --help show this help screen @@ -549,9 +553,9 @@ or appended data, and also on systems that are disk bound, not network bound. The option implies --partial (since an interrupted transfer does not delete -the file), but conflicts with --partial-dir. Prior to rsync 2.6.4 ---inplace was also incompatible with --compare-dest, --copy-dest, and ---link-dest. +the file), but conflicts with --partial-dir and --delay-updates. +Prior to rsync 2.6.4 --inplace was also incompatible with --compare-dest, +--copy-dest, and --link-dest. WARNING: The file's data will be in an inconsistent state during the transfer (and possibly afterward if the transfer gets interrupted), so you @@ -699,21 +703,30 @@ prevent temporary filesystem failures (such as NFS errors) on the sending side causing a massive deletion of files on the destination. You can override this with the --ignore-errors option. -If you don't specify --delete-during (--del) or --delete-after, the -file deletions will be done before the first file is transferred. -This is helpful if the filesystem is tight for space +The --delete option may be combined with one of the --delete-WHEN options +without conflict, as well as --delete-excluded. However, if none of the +--delete-WHEN options are specified, rsync will currently choose the +--delete-before algorithm. A future version may change this to choose the +--delete-during algorithm. See also --delete-after. + +dit(bf(--delete-before)) Request that the file-deletions on the receiving +side be done before the transfer starts. This is the default if --delete +or --delete-excluded is specified without one of the --delete-WHEN options. +See --delete (which is implied) for more details on file-deletion. + +Deleting before the transfer is helpful 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, and this delay might cause the transfer to timeout (if --timeout was specified). -dit(bf(--del, --delete-during)) Request that the file-deletions on the -receving side be done incrementally as the transfer happens. This is -a faster method than chosing the before- or after-transfer processing, +dit(bf(--delete-during, --del)) Request that the file-deletions on the +receiving side be done incrementally as the transfer happens. This is +a faster method than chosing the before- or after-transfer algorithm, but it is only supported beginning with rsync version 2.6.4. See --delete (which is implied) for more details on file-deletion. -dit(bf(--delete-after)) Request that the file-deletions on the receving +dit(bf(--delete-after)) Request that the file-deletions on the receiving side be done after the transfer has completed. This is useful if you are sending new per-directory merge files as a part of the transfer and you want their exclusions to take effect for the delete phase of the @@ -1028,13 +1041,34 @@ is a security risk. E.g. AVOID "/tmp". You can also set the partial-dir value the RSYNC_PARTIAL_DIR environment variable. Setting this in the environment does not force --partial to be -enabled, but rather it effects where partial files go when --partial (or --P) is used. For instance, instead of specifying --partial-dir=.rsync-tmp +enabled, but rather it effects where partial files go when --partial is +specified. For instance, instead of using --partial-dir=.rsync-tmp along with --progress, you could set RSYNC_PARTIAL_DIR=.rsync-tmp in your environment and then just use the -P option to turn on the use of the -.rsync-tmp dir for partial transfers. The only time the --partial option -does not look for this environment value is when --inplace was also -specified (since --inplace conflicts with --partial-dir). +.rsync-tmp dir for partial transfers. The only time that the --partial +option does not look for this environment value is (1) when --inplace was +specified (since --inplace conflicts with --partial-dir), or (2) when +--delay-updates was specified (see below). + +dit(bf(--delay-updates)) This option puts the temporary file from each +updated file into the file's partial-dir (see above) until the end of the +transfer, at which time all the files are renamed into place in rapid +succession. This attempts to make the updating of the files a little more +atomic. If you don't specify the --partial-dir option, this option will +cause it to default to ".~tmp~" (RSYNC_PARTIAL_DIR is not consulted for +this value). Conflicts with --inplace. + +This option uses more memory on the receiving side (one bit per file +transferred) and also requires enough free disk space on the receiving +side to hold an additional copy of all the updated files. Note also that +you should not use an absolute path to --partial-dir unless there is no +chance of any of the files in the transfer having the same name (since all +the updated files will be put into a single directory if the path is +absolute). + +See also the "atomic-rsync" perl script in the "support" subdir for an +update algorithm that is even more atomic (it uses --link-dest and a +parallel hierarchy of files). dit(bf(--progress)) This option tells rsync to print information showing the progress of the transfer. This gives a bored user @@ -1163,6 +1197,11 @@ 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(-v, --verbose)) This option increases the amount of information the +daemon logs during its startup phase. After the client connects, the +daemon's verbosity level will be controlled by the options that the client +used and the "max verbosity" setting in the module's config section. + 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 listen for connections. One of these options may be required in older