X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ad75d18d2e71192e7a2f32f2a4c4469c32c71e6c..39411fa876bb23ad9ba9b05c5b62912dc6d3108a:/rsync.yo diff --git a/rsync.yo b/rsync.yo index bfff5043..fb27f83d 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 @@ -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 @@ -1074,16 +1086,17 @@ quote(tt( rsync -avR --rsync-path="cd /a/b && rsync" hst:c/d /e/)) dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a broad range of files that you often don't want to transfer between -systems. It uses the same algorithm that CVS uses to determine if +systems. It uses a similar algorithm to CVS to determine if a file should be ignored. -The exclude list is initialized to: +The exclude list is initialized to exclude the following items (these +initial items are marked as perishable -- see the FILTER RULES section): quote(quote(tt(RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej -.del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core .svn/))) +.del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core .svn/ .bzr/))) -then files listed in a $HOME/.cvsignore are added to the list and any +then, files listed in a $HOME/.cvsignore are added to the list and any files listed in the CVSIGNORE environment variable (all cvsignore names are delimited by whitespace). @@ -1157,7 +1170,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 +1315,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 +1403,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 +1429,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 +1504,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 @@ -1913,7 +1931,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 @@ -1950,8 +1968,8 @@ itemize( 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.) + (as if "dir_name/**" had been specified). This behavior was added in + version 2.6.7. ) Note that, when using the bf(--recursive) (bf(-r)) option (which is implied by @@ -1991,7 +2009,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 @@ -2038,7 +2056,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 @@ -2065,14 +2083,14 @@ itemize( The following modifiers are accepted after a "+" or "-": -itemize( - it() A "/" specifies that the include/exclude rule should be matched +itemization( + it() A bf(/) 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 was sending files from the "/etc" directory, and "-/ subdir/foo" would always exclude "foo" when it is in a dir named "subdir", even if "foo" is at the root of the current transfer. - it() A "!" specifies that the include/exclude should take effect if + it() A bf(!) specifies that the include/exclude should take effect if the pattern fails to match. For instance, "-! */" would exclude all non-directories. it() A bf(C) is used to indicate that all the global CVS-exclude rules @@ -2089,6 +2107,11 @@ itemize( being deleted. See the bf(s) modifier for more info. See also the protect (P) and risk (R) rules, which are an alternate way to specify receiver-side includes/excludes. + it() A bf(p) indicates that a rule is perishable, meaning that it is + ignored in directories that are being deleted. For instance, the bf(-C) + option's default rules that exclude things like "CVS" and "*.o" are + marked as perishable, and will not prevent a directory that was removed + on the source from being deleted on the destination. ) Per-directory rules are inherited in all subdirectories of the directory @@ -2340,7 +2363,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. @@ -2544,7 +2567,7 @@ 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)