-B, --block-size=SIZE force a fixed checksum block-size
-e, --rsh=COMMAND specify the remote shell to use
--rsync-path=PROGRAM specify the rsync to run on remote machine
+ --existing ignore non-existing files on receiving side
--ignore-existing ignore files that already exist on receiver
- --ignore-non-existing ignore files that don't exist on receiver
--remove-sent-files sent files/symlinks are removed from sender
--del an alias for --delete-during
--delete delete files that don't exist on sender
--port=PORT specify double-colon alternate port number
--blocking-io use blocking I/O for the remote shell
--stats give some file-transfer stats
- -m, --human-readable output numbers in a human-readable format
+ -h, --human-readable output numbers in a human-readable format
--si like human-readable, but use powers of 1000
--progress show progress during transfer
-P same as --partial --progress
-4, --ipv4 prefer IPv4
-6, --ipv6 prefer IPv6
--version print version number
- -h, --help show this help screen)
+ --help show this help screen)
Rsync can also be run as a daemon, in which case the following options are
accepted: verb(
-v, --verbose increase verbosity
-4, --ipv4 prefer IPv4
-6, --ipv6 prefer IPv6
- -h, --help show this help screen)
+ --help show this help screen)
manpageoptions()
can be used instead.
startdit()
-dit(bf(-h, --help)) Print a short help page describing the options
-available in rsync.
+dit(bf(--help)) Print a short help page describing the options
+available in rsync and exit. For backward-compatibility with older
+versions of rsync, the same help output can also be requested by using
+the bf(-h) option without any other args.
dit(bf(--version)) print the rsync version number and exit.
renamed as each file is transferred or deleted. You can control where the
backup file goes and what (if any) suffix gets appended using the
bf(--backup-dir) and bf(--suffix) options.
-Note that if you don't specify bf(--backup-dir), the bf(--omit-dir-times)
-option will be enabled.
+
+Note that if you don't specify bf(--backup-dir), (1) the
+bf(--omit-dir-times) option will be implied, and (2) if bf(--delete) is
+also in effect (without bf(--delete-excluded)), rsync will add a protect
+filter-rule for the backup suffix to the end of all your existing excludes
+(e.g. -f "P *~"). This will prevent previously backed-up files from being
+deleted. Note that if you are supplying your own filter rules, you may
+need to manually insert your own exclude/protect rule somewhere higher up
+in the list so that it has a high enough priority to be effective (e.g., if
+your rules specify a trailing inclusion/exclusion of '*', the auto-added
+rule would never be reached).
dit(bf(--backup-dir=DIR)) In combination with the bf(--backup) option, this
tells rsync to store all backups in the specified directory. This is
boundaries when recursing. This is useful for transferring the
contents of only one filesystem.
+dit(bf(--existing, --ignore-non-existing)) This tells rsync to skip
+updating files that do not exist yet on the destination. If this option is
+combined with the bf(--ignore-existing) option, no files will be updated
+(which can be useful if all you want to do is to delete missing files).
+
dit(bf(--ignore-existing)) This tells rsync to skip updating files that
already exist on the destination. See also bf(--ignore-non-existing).
-dit(bf(--ignore-non-existing)) This tells rsync to skip updating files that
-do not exist yet on the destination. If this option is combined with the
-bf(--ignore-existing) option, no files will be updated (which can be useful
-if all you want to do is to delete missing files). Note that in older
-versions of rsync, this option was named bf(--existing), so this older
-name is still accepted as an alias.
-
dit(bf(--remove-sent-files)) This tells rsync to remove from the sending
side the files and/or symlinks that are newly created or whose content is
updated on the receiving side. Directories and devices are not removed,
RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION" above.
Command-line arguments are permitted in COMMAND provided that COMMAND is
-presented to rsync as a single argument. For example:
+presented to rsync as a single argument. You must use spaces (not tabs
+or other whitespace) to separate the command and args from each other,
+and you can use single- and/or double-quotes to preserve spaces in an
+argument (but not backslashes). Note that doubling a single-quote
+inside a single-quoted string gives you a single-quote; likewise for
+double-quotes (though you need to pay attention to which quotes your
+shell is parsing and which quotes rsync is parsing). Some examples:
-quote(tt( -e "ssh -p 2234"))
+quote(
+tt( -e 'ssh -p 2234')nl()
+tt( -e 'ssh -o "ProxyCommand nohup ssh firewall nc -w1 %h %p"')nl()
+)
(Note that ssh users can alternately customize site-specific connect
options in their .ssh/config file.)
dit(bf(-i, --itemize-changes)) Requests a simple itemized list of the
changes that are being made to each file, including attribute changes.
This is exactly the same as specifying bf(--log-format='%i %n%L').
+If you repeat the option, unchanged files will also be output, but only
+if the receiving rsync is at least version 2.6.7 (you can use bf(-vv)
+with older versions of rsync, but that also turns on the output of other
+verbose messages).
The "%i" escape has a cryptic output that is 9 letters long. The general
format is like the string bf(UXcstpoga)), where bf(U) is replaced by the
on the file transfer, allowing you to tell how effective the rsync
algorithm is for your data.
-dit(bf(-m, --human-readable)) Output numbers in a more human-readable format.
+dit(bf(-h, --human-readable)) Output numbers in a more human-readable format.
Large numbers may be output in larger units, with a K (1024), M (1024*1024),
or G (1024*1024*1024) suffix.
untimely deletion of partial-dir items on the receiving side. An example:
the above bf(--partial-dir) option would add an "bf(--exclude=.rsync-partial/)"
rule at the end of any other filter rules. Note that if you are
-supplying your own filter rules, you may need to manually insert a
-rule for this directory exclusion somewhere higher up in the list so that
+supplying your own exclude rules, you may need to manually insert your own
+exclude/protect rule somewhere higher up in the list so that
it has a high enough priority to be effective (e.g., if your rules specify
-a trailing bf(--exclude='*') rule, the auto-added rule would never be
+a trailing inclusion/exclusion of '*', the auto-added rule would never be
reached).
IMPORTANT: the bf(--partial-dir) should not be writable by other users or it
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. By default the files are placed into a directory named ".~tmp~" in
-each file's destination directory, but you can override this by specifying
-the bf(--partial-dir) option. (Note that RSYNC_PARTIAL_DIR has no effect
-on this value, nor is bf(--partial-dir) considered to be implied for the
-purposes of the daemon-config's "refuse options" setting.)
-Conflicts with bf(--inplace).
+each file's destination directory, but if you've specified the
+bf(--partial-dir) option, that directory will be used instead.
+Conflicts with bf(--inplace) and bf(--append).
This option uses more memory on the receiving side (one bit per file
transferred) and also requires enough free disk space on the receiving
of the transfer.
it() if the pattern ends with a / then it will only match a
directory, not a file, link, or device.
- it() if the pattern contains a wildcard character from the set
- *?[ then expression matching is applied using the shell filename
- matching rules. Otherwise a simple string match is used.
- it() the double asterisk pattern "**" will match slashes while a
- single asterisk pattern "*" will stop at slashes.
- it() if the pattern contains a / (not counting a trailing /) or a "**"
+
+ it() rsync chooses between doing a simple string match and wildcard
+ matching by checking if the pattern contains one of these three wildcard
+ characters: '*', '?', and '[' .
+ it() a '*' matches any non-empty path component (it stops at slashes).
+ it() use '**' to match anything, including slashes.
+ it() a '?' matches any character except a slash (/).
+ it() a '[' introduces a character class, such as [a-z] or [[:alpha:]].
+ it() in a wildcard pattern, a backslash can be used to escape a wildcard
+ character, but it is matched literally when no wildcards are present.
+ it() if the pattern contains a / (not counting a trailing /) or a "**",
then it is matched against the full pathname, including any leading
directories. If the pattern doesn't contain a / or a "**", then it is
matched only against the final component of the filename.
(Remember that the algorithm is applied recursively so "full filename"
can actually be any portion of a path from the starting directory on
down.)
+ it() a trailing "dir_name/***" will match both the directory (as if
+ "dir_name/" had been specified) and all the files in the directory
+ (as if "dir_name/**" had been specified). (This behavior is new for
+ version 2.6.7.)
)
Note that, when using the bf(--recursive) (bf(-r)) option (which is implied by