X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/8e3b627d0733c3b21312c707ef03dd9686bb453c..e6109f496cd50da4da536241634cd7774b347ca8:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 3be9dd64..6d3973e0 100644 --- a/rsync.yo +++ b/rsync.yo @@ -336,8 +336,8 @@ to the detailed description below for a complete description. verb( --devices preserve device files (super-user only) --specials preserve special files -D same as --devices --specials - -t, --times preserve times - -O, --omit-dir-times omit directories when preserving times + -t, --times preserve modification times + -O, --omit-dir-times omit directories from --times --super receiver attempts super-user activities --fake-super store/recover privileged attrs using xattrs -S, --sparse handle sparse files efficiently @@ -378,6 +378,7 @@ to the detailed description below for a complete description. verb( --link-dest=DIR hardlink to files in DIR when unchanged -z, --compress compress file data during the transfer --compress-level=NUM explicitly set compression level + --skip-compress=LIST skip compressing files with suffix in LIST -C, --cvs-exclude auto-ignore files in the same way CVS does -f, --filter=RULE add a file-filtering RULE -F same as --filter='dir-merge /.rsync-filter' @@ -664,16 +665,15 @@ if no -bf(-backup-dir) was specified, otherwise it is an empty string. dit(bf(-u, --update)) This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source -file. (If an existing destination file has a modify time equal to the +file. (If an existing destination file has a modification time equal to the source file's, it will be updated if the sizes are different.) -In the current implementation of bf(--update), a difference of file format -between the sender and receiver is always -considered to be important enough for an update, no matter what date -is on the objects. In other words, if the source has a directory or a -symlink where the destination has a file, the transfer would occur -regardless of the timestamps. This might change in the future (feel -free to comment on this on the mailing list if you have an opinion). +Note that this does not affect the copying of symlinks or other special +files. Also, a difference of file format between the sender and receiver +is always considered to be important enough for an update, no matter what +date is on the objects. In other words, if the source has a directory +where the destination has a file, the transfer would occur regardless of +the timestamps. dit(bf(--inplace)) This causes rsync not to create a new copy of the file and then move it into place. Instead rsync will overwrite the existing @@ -1099,13 +1099,15 @@ 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. -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. +files or directories. If that limit is exceeded, a warning is output +and rsync exits with an error code of 25 (new for 3.0.0). + +Also new for version 3.0.0, you may specify bf(--max-delete=0) to be warned +about any extraneous files in the destination without removing any of them. +Older clients interpreted this as "unlimited", so if you don't know what +version the client is, you can use the less obvious bf(--max-delete=-1) as +a backward-compatible way to specify that no deletions be allowed (though +older versions didn't warn when the limit was exceeded). dit(bf(--max-size=SIZE)) This tells rsync to avoid transferring any file that is larger than the specified SIZE. The SIZE value can be @@ -1438,10 +1440,40 @@ be achieved by using a compressing remote shell or a compressing transport because it takes advantage of the implicit information in the matching data blocks that are not explicitly sent over the connection. +See the bf(--skip-compress) option for the default list of file suffixes +that will not be compressed. + dit(bf(--compress-level=NUM)) Explicitly set the compression level to use (see bf(--compress)) instead of letting it default. If NUM is non-zero, the bf(--compress) option is implied. +dit(bf(--skip-compress=LIST)) Override the list of file suffixes that will +not be compressed. The bf(LIST) should be one or more file suffixes +(without the dot) separated by slashes (/). + +You may specify an empty string to indicate that no file should be skipped. + +Simple character-class matching is supported: each must consist of a list +of letters inside the square brackets (e.g. no special classes, such as +"[:alpha:]", are supported). + +The characters asterisk (*) and question-mark (?) have no special meaning. + +Here's an example that specifies 6 suffixes to skip (since 1 of the 5 rules +matches 2 suffixes): + +verb( --skip-compress=gz/jpg/mp[34]/7z/bz2) + +The default list of suffixes that will not be compressed is this (several +of these are newly added for 3.0.0): + +verb( gz/zip/z/rpm/deb/iso/bz2/t[gb]z/7z/mp[34]/mov/avi/ogg/jpg/jpeg) + +This list will be replaced by your bf(--skip-compress) list in all but one +situation: a copy from a daemon rsync will add your skipped suffixes to +its list of non-compressing files (and its list may be configured to a +different default). + dit(bf(--numeric-ids)) With this option rsync will transfer numeric group and user IDs rather than using user and group names and mapping them at both ends. @@ -1537,7 +1569,7 @@ quote(itemization( by the file transfer. it() A bf(t) means the modification time is different and is being updated to the sender's value (requires bf(--times)). An alternate value of bf(T) - means that the time will be set to the transfer time, which happens + means that the modification time will be set to the transfer time, which happens anytime a symlink is transferred, or when a regular file or device is transferred without bf(--times). it() A bf(p) means the permissions are different and are being updated to