From: Wayne Davison Date: Fri, 12 Jun 2020 03:24:53 +0000 (-0700) Subject: Translate man page's option list into .h files for options.h to use. X-Git-Tag: v3.2.0pre1~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cba00be6226a2888bf0eddfa593c0da1039b9499;p=thirdparty%2Frsync.git Translate man page's option list into .h files for options.h to use. --- diff --git a/.gitignore b/.gitignore index c4ab40ee..9c287d14 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ aclocal.m4 /rsync*.1 /rsync*.5 /rsync*.html +/help-rsync*.h /.md2man-works /autom4te*.cache /confdefs.h diff --git a/Makefile.in b/Makefile.in index 792abbe7..7cf73a38 100644 --- a/Makefile.in +++ b/Makefile.in @@ -99,10 +99,30 @@ rsync$(EXEEXT): $(OBJS) $(OBJS): $(HEADERS) $(CHECK_OBJS): $(HEADERS) -options.o: latest-year.h +options.o: latest-year.h help-rsync.h help-rsyncd.h flist.o: rounding.h +help-rsync.h: rsync.1.md + @sed -e '1,/^# OPTIONS SUMMARY/d' \ + -e '1,/^```/d' \ + -e '/^```/,$$d' \ + -e 's/"/\\"/g' \ + -e 's/^/ rprintf(F,"/' \ + -e 's/$$/\\n");/' \ + <"$(srcdir)/$<" >$@ + +help-rsyncd.h: rsync.1.md + @sed -e '1,/^# OPTIONS SUMMARY/d' \ + -e '1,/^```/d' \ + -e '1,/^```/d' \ + -e '1,/^```/d' \ + -e '/^```/,$$d' \ + -e 's/"/\\"/g' \ + -e 's/^/ rprintf(F,"/' \ + -e 's/$$/\\n");/' \ + <"$(srcdir)/$<" >$@ + rounding.h: rounding.c rsync.h proto.h @for r in 0 1 3; do \ if $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o rounding -DEXTRA_ROUNDING=$$r -I. $(srcdir)/rounding.c >rounding.out 2>&1; then \ diff --git a/options.c b/options.c index c93abfcb..a0c973ce 100644 --- a/options.c +++ b/options.c @@ -728,154 +728,7 @@ void usage(enum logcode F) rprintf(F,"to an rsync daemon, and require SRC or DEST to start with a module name.\n"); rprintf(F,"\n"); rprintf(F,"Options\n"); - rprintf(F," -v, --verbose increase verbosity\n"); - rprintf(F," --info=FLAGS fine-grained informational verbosity\n"); - rprintf(F," --debug=FLAGS fine-grained debug verbosity\n"); - rprintf(F," --msgs2stderr output messages directly to stderr\n"); - rprintf(F," -q, --quiet suppress non-error messages\n"); - rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n"); - rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n"); - rprintf(F," -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)\n"); - rprintf(F," --no-OPTION turn off an implied OPTION (e.g. --no-D)\n"); - rprintf(F," -r, --recursive recurse into directories\n"); - rprintf(F," -R, --relative use relative path names\n"); - rprintf(F," --no-implied-dirs don't send implied dirs with --relative\n"); - rprintf(F," -b, --backup make backups (see --suffix & --backup-dir)\n"); - rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n"); - rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX); - rprintf(F," -u, --update skip files that are newer on the receiver\n"); - rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n"); - rprintf(F," --append append data onto shorter files\n"); - rprintf(F," --append-verify like --append, but with old data in file checksum\n"); - rprintf(F," -d, --dirs transfer directories without recursing\n"); - rprintf(F," -l, --links copy symlinks as symlinks\n"); - rprintf(F," -L, --copy-links transform symlink into referent file/dir\n"); - rprintf(F," --copy-unsafe-links only \"unsafe\" symlinks are transformed\n"); - rprintf(F," --safe-links ignore symlinks that point outside the source tree\n"); - rprintf(F," --munge-links munge symlinks to make them safer (but unusable)\n"); - rprintf(F," -k, --copy-dirlinks transform symlink to a dir into referent dir\n"); - rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n"); - rprintf(F," -H, --hard-links preserve hard links\n"); - rprintf(F," -p, --perms preserve permissions\n"); - rprintf(F," -E, --executability preserve the file's executability\n"); - rprintf(F," --chmod=CHMOD affect file and/or directory permissions\n"); -#ifdef SUPPORT_ACLS - rprintf(F," -A, --acls preserve ACLs (implies --perms)\n"); -#endif -#ifdef SUPPORT_XATTRS - rprintf(F," -X, --xattrs preserve extended attributes\n"); -#endif - rprintf(F," -o, --owner preserve owner (super-user only)\n"); - rprintf(F," -g, --group preserve group\n"); - rprintf(F," --devices preserve device files (super-user only)\n"); - rprintf(F," --specials preserve special files\n"); - rprintf(F," -D same as --devices --specials\n"); - rprintf(F," -t, --times preserve modification times\n"); - rprintf(F," -U, --atimes preserve access (last-used) times\n"); - rprintf(F," --open-noatime avoid changing the atime on opened files\n"); - rprintf(F," -O, --omit-dir-times omit directories from --times\n"); - rprintf(F," -J, --omit-link-times omit symlinks from --times\n"); - rprintf(F," --super receiver attempts super-user activities\n"); -#ifdef SUPPORT_XATTRS - rprintf(F," --fake-super store/recover privileged attrs using xattrs\n"); -#endif - rprintf(F," -S, --sparse turn sequences of nulls into sparse blocks\n"); -#ifdef SUPPORT_PREALLOCATION - rprintf(F," --preallocate allocate dest files before writing them\n"); -#else - rprintf(F," --preallocate pre-allocate dest files on remote receiver\n"); -#endif - rprintf(F," --write-devices write to devices as files (implies --inplace)\n"); - rprintf(F," -n, --dry-run perform a trial run with no changes made\n"); - rprintf(F," -W, --whole-file copy files whole (without delta-xfer algorithm)\n"); - rprintf(F," --checksum-choice=STR choose the checksum algorithms\n"); - rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n"); - rprintf(F," -B, --block-size=SIZE force a fixed checksum block-size\n"); - rprintf(F," -e, --rsh=COMMAND specify the remote shell to use\n"); - rprintf(F," --rsync-path=PROGRAM specify the rsync to run on the remote machine\n"); - rprintf(F," --existing skip creating new files on receiver\n"); - rprintf(F," --ignore-existing skip updating files that already exist on receiver\n"); - rprintf(F," --remove-source-files sender removes synchronized files (non-dirs)\n"); - rprintf(F," --del an alias for --delete-during\n"); - rprintf(F," --delete delete extraneous files from destination dirs\n"); - rprintf(F," --delete-before receiver deletes before transfer, not during\n"); - rprintf(F," --delete-during receiver deletes during the transfer\n"); - rprintf(F," --delete-delay find deletions during, delete after\n"); - rprintf(F," --delete-after receiver deletes after transfer, not during\n"); - rprintf(F," --delete-excluded also delete excluded files from destination dirs\n"); - rprintf(F," --ignore-missing-args ignore missing source args without error\n"); - rprintf(F," --delete-missing-args delete missing source args from destination\n"); - rprintf(F," --ignore-errors delete even if there are I/O errors\n"); - rprintf(F," --force force deletion of directories even if not empty\n"); - rprintf(F," --max-delete=NUM don't delete more than NUM files\n"); - rprintf(F," --max-size=SIZE don't transfer any file larger than SIZE\n"); - rprintf(F," --min-size=SIZE don't transfer any file smaller than SIZE\n"); - rprintf(F," --partial keep partially transferred files\n"); - rprintf(F," --partial-dir=DIR put a partially transferred file into DIR\n"); - rprintf(F," --delay-updates put all updated files into place at transfer's end\n"); - rprintf(F," -m, --prune-empty-dirs prune empty directory chains from the file-list\n"); - rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n"); - rprintf(F," --usermap=STRING custom username mapping\n"); - rprintf(F," --groupmap=STRING custom groupname mapping\n"); - rprintf(F," --chown=USER:GROUP simple username/groupname mapping\n"); - rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n"); - rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n"); - rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n"); - rprintf(F," -M, --remote-option=OPTION send OPTION to the remote side only\n"); - rprintf(F," --size-only skip files that match in size\n"); - rprintf(F," -@, --modify-window=NUM set the accuracy for mod-time comparisons\n"); - rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n"); - rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n"); - rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n"); - rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n"); - rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n"); - rprintf(F," -z, --compress compress file data during the transfer\n"); - rprintf(F," --compress-level=NUM explicitly set compression level\n"); - rprintf(F," --skip-compress=LIST skip compressing files with a suffix in LIST\n"); - rprintf(F," -C, --cvs-exclude auto-ignore files the same way CVS does\n"); - rprintf(F," -f, --filter=RULE add a file-filtering RULE\n"); - rprintf(F," -F same as --filter='dir-merge /.rsync-filter'\n"); - rprintf(F," repeated: --filter='- .rsync-filter'\n"); - rprintf(F," --exclude=PATTERN exclude files matching PATTERN\n"); - rprintf(F," --exclude-from=FILE read exclude patterns from FILE\n"); - rprintf(F," --include=PATTERN don't exclude files matching PATTERN\n"); - rprintf(F," --include-from=FILE read include patterns from FILE\n"); - rprintf(F," --files-from=FILE read list of source-file names from FILE\n"); - rprintf(F," -0, --from0 all *-from/filter files are delimited by 0s\n"); - rprintf(F," -s, --protect-args no space-splitting; only wildcard special-chars\n"); - rprintf(F," --copy-as=USER[:GROUP] specify user & optional group for the copy\n"); - rprintf(F," --address=ADDRESS bind address for outgoing socket to daemon\n"); - rprintf(F," --port=PORT specify double-colon alternate port number\n"); - rprintf(F," --sockopts=OPTIONS specify custom TCP options\n"); - rprintf(F," --blocking-io use blocking I/O for the remote shell\n"); - rprintf(F," --stats give some file-transfer stats\n"); - rprintf(F," -8, --8-bit-output leave high-bit chars unescaped in output\n"); - rprintf(F," -h, --human-readable output numbers in a human-readable format\n"); - rprintf(F," --progress show progress during transfer\n"); - rprintf(F," -P same as --partial --progress\n"); - rprintf(F," -i, --itemize-changes output a change-summary for all updates\n"); - rprintf(F," --out-format=FORMAT output updates using the specified FORMAT\n"); - rprintf(F," --log-file=FILE log what we're doing to the specified FILE\n"); - rprintf(F," --log-file-format=FMT log updates using the specified FMT\n"); - rprintf(F," --password-file=FILE read daemon-access password from FILE\n"); - rprintf(F," --list-only list the files instead of copying them\n"); - rprintf(F," --bwlimit=RATE limit socket I/O bandwidth\n"); -#ifdef HAVE_SETVBUF - rprintf(F," --outbuf=N|L|B set output buffering to None, Line, or Block\n"); -#endif - rprintf(F," --write-batch=FILE write a batched update to FILE\n"); - rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n"); - rprintf(F," --read-batch=FILE read a batched update from FILE\n"); - rprintf(F," --protocol=NUM force an older protocol version to be used\n"); -#ifdef ICONV_OPTION - rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n"); -#endif - rprintf(F," --checksum-seed=NUM set block/file checksum seed (advanced)\n"); - rprintf(F," -4, --ipv4 prefer IPv4\n"); - rprintf(F," -6, --ipv6 prefer IPv6\n"); - rprintf(F," -V, --version print the version & other info and exit\n"); - rprintf(F,"(-h) --help show this help (-h is --help only if used alone)\n"); - +#include "help-rsync.h" rprintf(F,"\n"); rprintf(F,"Use \"rsync --daemon --help\" to see the daemon-mode command-line options.\n"); rprintf(F,"Please see the rsync(1) and rsyncd.conf(5) man pages for full documentation.\n"); @@ -1139,20 +992,7 @@ static void daemon_usage(enum logcode F) rprintf(F,"\n"); rprintf(F,"Usage: rsync --daemon [OPTION]...\n"); - rprintf(F," --address=ADDRESS bind to the specified address\n"); - rprintf(F," --bwlimit=RATE limit socket I/O bandwidth\n"); - rprintf(F," --config=FILE specify alternate rsyncd.conf file\n"); - rprintf(F," -M, --dparam=OVERRIDE override global daemon config parameter\n"); - rprintf(F," --no-detach do not detach from the parent\n"); - rprintf(F," --port=PORT listen on alternate port number\n"); - rprintf(F," --log-file=FILE override the \"log file\" setting\n"); - rprintf(F," --log-file-format=FMT override the \"log format\" setting\n"); - rprintf(F," --sockopts=OPTIONS specify custom TCP options\n"); - rprintf(F," -v, --verbose increase verbosity\n"); - rprintf(F," -4, --ipv4 prefer IPv4\n"); - rprintf(F," -6, --ipv6 prefer IPv6\n"); - rprintf(F," --help show this help screen\n"); - +#include "help-rsyncd.h" rprintf(F,"\n"); rprintf(F,"If you were not trying to invoke rsync as a daemon, avoid using any of the\n"); rprintf(F,"daemon-specific rsync options. See also the rsyncd.conf(5) man page.\n"); diff --git a/rsync.1.md b/rsync.1.md index 40a07331..743d3b92 100644 --- a/rsync.1.md +++ b/rsync.1.md @@ -327,160 +327,162 @@ This is launched from cron every few hours. Here is a short summary of the options available in rsync. Please refer to the detailed description below for a complete description. +[comment]: # (Keep these short enough that they'll be under 80 chars when indented by 8 chars.) + ``` ---verbose, -v increase verbosity ---info=FLAGS fine-grained informational verbosity ---debug=FLAGS fine-grained debug verbosity ---msgs2stderr output messages directly to stderr ---quiet, -q suppress non-error messages ---no-motd suppress daemon-mode MOTD (see caveat) ---checksum, -c skip based on checksum, not mod-time & size ---archive, -a archive mode; equals -rlptgoD (no -H,-A,-X) ---no-OPTION turn off an implied OPTION (e.g. --no-D) ---recursive, -r recurse into directories ---relative, -R use relative path names ---no-implied-dirs don't send implied dirs with --relative ---backup, -b make backups (see --suffix & --backup-dir) ---backup-dir=DIR make backups into hierarchy based in DIR ---suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) ---update, -u skip files that are newer on the receiver ---inplace update destination files in-place ---append append data onto shorter files ---append-verify --append w/old data in file checksum ---dirs, -d transfer directories without recursing ---links, -l copy symlinks as symlinks ---copy-links, -L transform symlink into referent file/dir ---copy-unsafe-links only "unsafe" symlinks are transformed ---safe-links ignore symlinks that point outside the tree ---munge-links munge symlinks to make them safer ---copy-dirlinks, -k transform symlink to dir into referent dir ---keep-dirlinks, -K treat symlinked dir on receiver as dir ---hard-links, -H preserve hard links ---perms, -p preserve permissions ---executability, -E preserve executability ---chmod=CHMOD affect file and/or directory permissions ---acls, -A preserve ACLs (implies -p) ---xattrs, -X preserve extended attributes ---owner, -o preserve owner (super-user only) ---group, -g preserve group ---devices preserve device files (super-user only) ---specials preserve special files --D same as --devices --specials ---times, -t preserve modification times ---atimes, -U preserve access (use) times ---open-noatime avoid changing the atime on opened files ---omit-dir-times, -O omit directories from --times ---omit-link-times, -J omit symlinks from --times ---super receiver attempts super-user activities ---fake-super store/recover privileged attrs using xattrs ---sparse, -S turn sequences of nulls into sparse blocks ---preallocate allocate dest files before writing ---write-devices write to devices as files (implies --inplace) ---dry-run, -n perform a trial run with no changes made ---whole-file, -W copy files whole (w/o delta-xfer algorithm) ---checksum-choice=STR choose the checksum algorithms ---one-file-system, -x don't cross filesystem boundaries ---block-size=SIZE, -B force a fixed checksum block-size ---rsh=COMMAND, -e specify the remote shell to use ---rsync-path=PROGRAM specify the rsync to run on remote machine ---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 extraneous files from dest dirs ---delete-before receiver deletes before xfer, not during ---delete-during receiver deletes during the transfer ---delete-delay find deletions during, delete after ---delete-after receiver deletes after transfer, not during ---delete-excluded also delete excluded files from dest dirs ---ignore-missing-args ignore missing source args without error ---delete-missing-args delete missing source args from destination ---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 ---min-size=SIZE don't transfer any file smaller 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 ---prune-empty-dirs, -m prune empty directory chains from file-list ---numeric-ids don't map uid/gid values by user/group name ---usermap=STRING custom username mapping ---groupmap=STRING custom groupname mapping ---chown=USER:GROUP simple username/groupname mapping ---timeout=SECONDS set I/O timeout in seconds ---contimeout=SECONDS set daemon connection timeout in seconds ---ignore-times, -I don't skip files that match size and time ---size-only skip files that match in size ---modify-window=NUM, -@ set the accuracy for mod-time comparisons ---temp-dir=DIR, -T create temporary files in directory DIR ---fuzzy, -y find similar file for basis if no dest file ---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 ---compress, -z compress file data during the transfer ---compress-level=NUM explicitly set compression level ---skip-compress=LIST skip compressing files with suffix in LIST ---cvs-exclude, -C auto-ignore files in the same way CVS does ---filter=RULE, -f add a file-filtering RULE --F same as --filter='dir-merge /.rsync-filter' - repeated: --filter='- .rsync-filter' ---exclude=PATTERN exclude files matching PATTERN ---exclude-from=FILE read exclude patterns from FILE ---include=PATTERN don't exclude files matching PATTERN ---include-from=FILE read include patterns from FILE ---files-from=FILE read list of source-file names from FILE ---from0, -0 all *from/filter files are delimited by 0s ---protect-args, -s no space-splitting; wildcard chars only ---copy-as=USER[:GROUP] specify user & optional group for the copy ---address=ADDRESS bind address for outgoing socket to daemon ---port=PORT specify double-colon alternate port number ---sockopts=OPTIONS specify custom TCP options ---blocking-io use blocking I/O for the remote shell ---outbuf=N|L|B set out buffering to None, Line, or Block ---stats give some file-transfer stats ---8-bit-output, -8 leave high-bit chars unescaped in output ---human-readable, -h output numbers in a human-readable format ---progress show progress during transfer --P same as --partial --progress ---itemize-changes, -i output a change-summary for all updates ---remote-option=OPTION, -M send OPTION to the remote side only ---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 daemon-access password from FILE ---list-only list the files instead of copying them ---bwlimit=RATE limit socket I/O bandwidth ---write-batch=FILE write a batched update to FILE ---only-write-batch=FILE like --write-batch but w/o updating dest ---read-batch=FILE read a batched update from FILE ---protocol=NUM force an older protocol version to be used ---iconv=CONVERT_SPEC request charset conversion of filenames ---checksum-seed=NUM set block/file checksum seed (advanced) ---ipv4, -4 prefer IPv4 ---ipv6, -6 prefer IPv6 ---version, -V print the version + other info and exit ---help, -h (*) show this help (*see below for -h comment) +--verbose, -v increase verbosity +--info=FLAGS fine-grained informational verbosity +--debug=FLAGS fine-grained debug verbosity +--msgs2stderr output messages directly to stderr +--quiet, -q suppress non-error messages +--no-motd suppress daemon-mode MOTD +--checksum, -c skip based on checksum, not mod-time & size +--archive, -a archive mode; equals -rlptgoD (no -H,-A,-X) +--no-OPTION turn off an implied OPTION (e.g. --no-D) +--recursive, -r recurse into directories +--relative, -R use relative path names +--no-implied-dirs don't send implied dirs with --relative +--backup, -b make backups (see --suffix & --backup-dir) +--backup-dir=DIR make backups into hierarchy based in DIR +--suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) +--update, -u skip files that are newer on the receiver +--inplace update destination files in-place +--append append data onto shorter files +--append-verify --append w/old data in file checksum +--dirs, -d transfer directories without recursing +--links, -l copy symlinks as symlinks +--copy-links, -L transform symlink into referent file/dir +--copy-unsafe-links only "unsafe" symlinks are transformed +--safe-links ignore symlinks that point outside the tree +--munge-links munge symlinks to make them safe & unusable +--copy-dirlinks, -k transform symlink to dir into referent dir +--keep-dirlinks, -K treat symlinked dir on receiver as dir +--hard-links, -H preserve hard links +--perms, -p preserve permissions +--executability, -E preserve executability +--chmod=CHMOD affect file and/or directory permissions +--acls, -A preserve ACLs (implies --perms) +--xattrs, -X preserve extended attributes +--owner, -o preserve owner (super-user only) +--group, -g preserve group +--devices preserve device files (super-user only) +--specials preserve special files +-D same as --devices --specials +--times, -t preserve modification times +--atimes, -U preserve access (use) times +--open-noatime avoid changing the atime on opened files +--omit-dir-times, -O omit directories from --times +--omit-link-times, -J omit symlinks from --times +--super receiver attempts super-user activities +--fake-super store/recover privileged attrs using xattrs +--sparse, -S turn sequences of nulls into sparse blocks +--preallocate allocate dest files before writing them +--write-devices write to devices as files (implies --inplace) +--dry-run, -n perform a trial run with no changes made +--whole-file, -W copy files whole (w/o delta-xfer algorithm) +--checksum-choice=STR choose the checksum algorithms +--one-file-system, -x don't cross filesystem boundaries +--block-size=SIZE, -B force a fixed checksum block-size +--rsh=COMMAND, -e specify the remote shell to use +--rsync-path=PROGRAM specify the rsync to run on remote machine +--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 extraneous files from dest dirs +--delete-before receiver deletes before xfer, not during +--delete-during receiver deletes during the transfer +--delete-delay find deletions during, delete after +--delete-after receiver deletes after transfer, not during +--delete-excluded also delete excluded files from dest dirs +--ignore-missing-args ignore missing source args without error +--delete-missing-args delete missing source args from destination +--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 +--min-size=SIZE don't transfer any file smaller 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 +--prune-empty-dirs, -m prune empty directory chains from file-list +--numeric-ids don't map uid/gid values by user/group name +--usermap=STRING custom username mapping +--groupmap=STRING custom groupname mapping +--chown=USER:GROUP simple username/groupname mapping +--timeout=SECONDS set I/O timeout in seconds +--contimeout=SECONDS set daemon connection timeout in seconds +--ignore-times, -I don't skip files that match size and time +--size-only skip files that match in size +--modify-window=NUM, -@ set the accuracy for mod-time comparisons +--temp-dir=DIR, -T create temporary files in directory DIR +--fuzzy, -y find similar file for basis if no dest file +--compare-dest=DIR also compare destination files relative to DIR +--copy-dest=DIR ... and include copies of unchanged files +--link-dest=DIR hardlink to files in DIR when unchanged +--compress, -z compress file data during the transfer +--compress-level=NUM explicitly set compression level +--skip-compress=LIST skip compressing files with suffix in LIST +--cvs-exclude, -C auto-ignore files in the same way CVS does +--filter=RULE, -f add a file-filtering RULE +-F same as --filter='dir-merge /.rsync-filter' + repeated: --filter='- .rsync-filter' +--exclude=PATTERN exclude files matching PATTERN +--exclude-from=FILE read exclude patterns from FILE +--include=PATTERN don't exclude files matching PATTERN +--include-from=FILE read include patterns from FILE +--files-from=FILE read list of source-file names from FILE +--from0, -0 all *-from/filter files are delimited by 0s +--protect-args, -s no space-splitting; wildcard chars only +--copy-as=USER[:GROUP] specify user & optional group for the copy +--address=ADDRESS bind address for outgoing socket to daemon +--port=PORT specify double-colon alternate port number +--sockopts=OPTIONS specify custom TCP options +--blocking-io use blocking I/O for the remote shell +--outbuf=N|L|B set out buffering to None, Line, or Block +--stats give some file-transfer stats +--8-bit-output, -8 leave high-bit chars unescaped in output +--human-readable, -h output numbers in a human-readable format +--progress show progress during transfer +-P same as --partial --progress +--itemize-changes, -i output a change-summary for all updates +--remote-option=OPT, -M send OPTION to the remote side only +--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 daemon-access password from FILE +--list-only list the files instead of copying them +--bwlimit=RATE limit socket I/O bandwidth +--write-batch=FILE write a batched update to FILE +--only-write-batch=FILE like --write-batch but w/o updating dest +--read-batch=FILE read a batched update from FILE +--protocol=NUM force an older protocol version to be used +--iconv=CONVERT_SPEC request charset conversion of filenames +--checksum-seed=NUM set block/file checksum seed (advanced) +--ipv4, -4 prefer IPv4 +--ipv6, -6 prefer IPv6 +--version, -V print the version + other info and exit +--help, -h (*) show this help (* -h is help only on its own) ``` Rsync can also be run as a daemon, in which case the following options are accepted: ``` ---daemon run as an rsync daemon ---address=ADDRESS bind to the specified address ---bwlimit=RATE limit socket I/O bandwidth ---config=FILE specify alternate rsyncd.conf file ---dparam=OVERRIDE, -M override global daemon config parameter ---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 ---verbose, -v increase verbosity ---ipv4, -4 prefer IPv4 ---ipv6, -6 prefer IPv6 ---help, -h show this help (if used after --daemon) +--daemon run as an rsync daemon +--address=ADDRESS bind to the specified address +--bwlimit=RATE limit socket I/O bandwidth +--config=FILE specify alternate rsyncd.conf file +--dparam=OVERRIDE, -M override global daemon config parameter +--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 +--verbose, -v increase verbosity +--ipv4, -4 prefer IPv4 +--ipv6, -6 prefer IPv6 +--help, -h show this help (when used with --daemon) ``` # OPTIONS