X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/47c1197534c3247a2669df86fbc36d4094d6ba93..5303941021034f9b6272d5c1512096e125aece1e:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 84735898..2a266d74 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsync)(1)(22 Apr 2006)()() +manpage(rsync)(1)(6 Nov 2006)()() manpagename(rsync)(faster, flexible replacement for rcp) manpagesynopsis() @@ -33,7 +33,7 @@ report that accompanies this package. Some of the additional features of rsync are: -itemize( +itemization( 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 @@ -182,7 +182,7 @@ CONNECTIONS section below for information on that.) Using rsync in this way is the same as using it with a remote shell except that: -itemize( +itemization( it() you either use a double colon :: instead of a single colon to separate the hostname from the path, or you use an rsync:// URL. it() the first word of the "path" is actually a module name. @@ -299,6 +299,7 @@ Here is a short summary of the options available in rsync. Please refer to the detailed description below for a complete description. verb( -v, --verbose increase verbosity -q, --quiet suppress non-error messages + --no-motd suppress daemon-mode MOTD (see caveat) -c, --checksum skip based on checksum, not mod-time & size -a, --archive archive mode; same as -rlptgoD (no -H) --no-OPTION turn off an implied OPTION (e.g. --no-D) @@ -321,7 +322,7 @@ to the detailed description below for a complete description. verb( -H, --hard-links preserve hard links -p, --perms preserve permissions -E, --executability preserve executability - --chmod=CHMOD change destination permissions + --chmod=CHMOD affect file and/or directory permissions -o, --owner preserve owner (super-user only) -g, --group preserve group --devices preserve device files (super-user only) @@ -401,8 +402,7 @@ to the detailed description below for a complete description. verb( -4, --ipv4 prefer IPv4 -6, --ipv6 prefer IPv6 --version print version number -(-h) --help show this help (see below for -h comment) -) +(-h) --help show this help (see below for -h comment)) Rsync can also be run as a daemon, in which case the following options are accepted: verb( @@ -418,8 +418,7 @@ accepted: verb( -v, --verbose increase verbosity -4, --ipv4 prefer IPv4 -6, --ipv6 prefer IPv6 - -h, --help show this help (if used after --daemon) -) + -h, --help show this help (if used after --daemon)) manpageoptions() @@ -459,9 +458,17 @@ are given during the transfer, notably suppressing information messages from the remote server. This flag is useful when invoking rsync from cron. +dit(bf(--no-motd)) This option affects the information that is output +by the client at the start of a daemon transfer. This suppresses the +message-of-the-day (MOTD) text, but it also affects the list of modules +that the daemon sends in response to the "rsync host::" request (due to +a limitation in the rsync protocol), so omit this option if you want to +request the list of modules from the deamon. + dit(bf(-I, --ignore-times)) Normally rsync will skip any files that are already the same size and have the same modification time-stamp. -This option turns off this "quick check" behavior. +This option turns off this "quick check" behavior, causing all files to +be updated. dit(bf(--size-only)) Normally rsync will not transfer any files that are already the same size and have the same modification time-stamp. With the @@ -611,8 +618,8 @@ 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 -very useful for incremental backups. You can additionally +tells rsync to store all backups in the specified directory on the receiving +side. This can be used for incremental backups. You can additionally specify a backup suffix using the bf(--suffix) option (otherwise the files backed up in the specified directory will keep their original filenames). @@ -741,7 +748,7 @@ be the source permissions.) When this option is em(off), permissions are set as follows: -quote(itemize( +quote(itemization( it() Existing files (including updated files) retain their existing permissions, though the bf(--executability) option might change just the execute permission for the file. @@ -788,7 +795,7 @@ not enabled. A regular file is considered to be executable if at least one executability differs from that of the corresponding source file, rsync modifies the destination file's permissions as follows: -quote(itemize( +quote(itemization( it() To make a file non-executable, rsync turns off all its 'x' permissions. it() To make a file executable, rsync turns on each 'x' permission that @@ -997,7 +1004,12 @@ using bf(--delete-after), and it used to be non-functional unless the bf(--recursive) option was also enabled. dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM -files or directories (NUM must be non-zero). +files or directories. +Beginning with version 3.0.0, you may specify bf(--max-delete=0) to +be warned about any extraneous files in the destination, but be very +careful to never specify a 0 value to an older rsync client, or the +option will be silently ignored. (A 3.0.0 client will die with an +error if the remote rsync is not new enough to handle the situation.) This is useful when mirroring very large trees to prevent disasters. dit(bf(--max-size=SIZE)) This tells rsync to avoid transferring any @@ -1157,7 +1169,7 @@ exact list of files to transfer (as read from the specified FILE or bf(-) for standard input). It also tweaks the default behavior of rsync to make transferring just the specified files and directories easier: -quote(itemize( +quote(itemization( it() The bf(--relative) (bf(-R)) option is implied, which preserves the path information that is specified for each item in the file (use bf(--no-relative) or bf(--no-R) if you want to turn that off). @@ -1302,6 +1314,11 @@ and the attributes updated. If a match is not found, a basis file from one of the em(DIR)s will be selected to try to speed up the transfer. +Note that if you combine this option with bf(--ignore-times), rsync will not +link any files together because it only links identical files together as a +substitute for transferring the file, never as an additional check after the +file is updated. + If em(DIR) is a relative path, it is relative to the destination directory. See also bf(--compare-dest) and bf(--copy-dest). @@ -1385,7 +1402,7 @@ modified. The update types that replace the bf(Y) are as follows: -quote(itemize( +quote(itemization( it() A bf(<) means that a file is being transferred to the remote host (sent). it() A bf(>) means that a file is being transferred to the local host @@ -1411,7 +1428,7 @@ a "?" (this can happen when talking to an older rsync). The attribute that is associated with each letter is as follows: -quote(itemize( +quote(itemization( it() A bf(c) means the checksum of the file is different and will be updated by the file transfer (requires bf(--checksum)). it() A bf(s) means the size of the file is different and will be updated @@ -1486,7 +1503,7 @@ dit(bf(--stats)) This tells rsync to print a verbose set of statistics on the file transfer, allowing you to tell how effective the rsync algorithm is for your data. -The current statistics are as follows: quote(itemize( +The current statistics are as follows: quote(itemization( it() bf(Number of files) is the count of all "files" (in the generic sense), which includes directories, symlinks, etc. it() bf(Number of files transferred) is the count of normal files that @@ -1659,24 +1676,34 @@ showing the progress of the transfer. This gives a bored user something to watch. Implies bf(--verbose) if it wasn't already specified. -When the file is transferring, the data looks like this: +While rsync is transferring a regular file, it updates a progress line that +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. +In this example, the receiver has reconstructed 782448 bytes or 63% of the +sender's file, which is being reconstructed at a rate of 110.64 kilobytes +per second, and the transfer will finish in 4 seconds if the current rate +is maintained until the end. -After a file is complete, the data looks like this: +These statistics can be misleading if the incremental transfer algorithm is +in use. For example, if the sender's file consists of the basis file +followed by additional data, the reported rate will probably drop +dramatically when the receiver gets to the literal data, and the transfer +will probably take much longer to finish than the receiver estimated as it +was finishing the matched part of the file. -verb( 1238099 100% 146.38kB/s 0:00:08 (5, 57.1% of 396)) +When the file transfer finishes, rsync replaces the progress line with a +summary line that looks like this: -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. +verb( 1238099 100% 146.38kB/s 0:00:08 (xfer#5, to-check=169/396)) + +In this example, the file was 1238099 bytes long in total, the average rate +of transfer for the whole file was 146.38 kilobytes per second over the 8 +seconds that it took to complete, it was the 5th transfer of a regular file +during the current rsync session, and there are 169 more files for the +receiver to check (to see if they are up-to-date or not) remaining out of +the 396 total files in the file-list. dit(bf(-P)) The bf(-P) option is equivalent to bf(--partial) bf(--progress). Its purpose is to make it much easier to specify these two options for a long @@ -1903,7 +1930,7 @@ The include/exclude rules each specify a pattern that is matched against the names of the files that are going to be transferred. These patterns can take several forms: -itemize( +itemization( it() if the pattern starts with a / then it is anchored to a particular spot in the hierarchy of files, otherwise it is matched against the end of the pathname. This is similar to a leading ^ in @@ -1981,7 +2008,7 @@ tt(- *)nl() Here are some examples of exclude/include matching: -itemize( +itemization( it() "- *.o" would exclude all filenames matching *.o it() "- /foo" would exclude a file (or directory) named foo in the transfer-root directory @@ -2028,7 +2055,7 @@ tt(:n- .non-inherited-per-dir-excludes)nl() The following modifiers are accepted after a merge or dir-merge rule: -itemize( +itemization( it() A bf(-) specifies that the file should consist of only exclude patterns, with no other rule-parsing except for in-file comments. it() A bf(+) specifies that the file should consist of only include @@ -2055,7 +2082,7 @@ itemize( The following modifiers are accepted after a "+" or "-": -itemize( +itemization( it() A "/" specifies that the include/exclude rule should be matched against the absolute pathname of the current item. For example, "-/ /etc/passwd" would exclude the passwd file any time the transfer @@ -2330,7 +2357,7 @@ and the information to repeat this operation is stored in "foo" and into the directory /bdest/dir. The differences between the two examples reveals some of the flexibility you have in how you deal with batches: -itemize( +itemization( it() The first example shows that the initial copy doesn't have to be local -- you can push or pull data to/from a remote host using either the remote-shell syntax or rsync daemon syntax, as desired. @@ -2534,7 +2561,17 @@ url(http://rsync.samba.org/)(http://rsync.samba.org/) manpagesection(VERSION) -This man page is current for version 2.6.8 of rsync. +This man page is current for version 2.6.9 of rsync. + +manpagesection(INTERNAL OPTIONS) + +The options bf(--server) and bf(--sender) are used internally by rsync, +and should never be typed by a user under normal circumstances. Some +awareness of these options may be needed in certain scenarios, such as +when setting up a login that can only run an rsync command. For instance, +the support directory of the rsync distribution has an example script +named rrsync (for restricted rsync) that can be used with a restricted +ssh login. manpagesection(CREDITS)