X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/2206abf88410dc19632faf6743eae525ad94199a..6d301fa3de32d35cd88b113aef720676a4fbc573:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 08e3bbc2..6eb226fb 100644 --- a/rsync.yo +++ b/rsync.yo @@ -336,6 +336,7 @@ to the detailed description below for a complete description. verb( -L, --copy-links 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 -k, --copy-dirlinks transform symlink to dir into referent dir -K, --keep-dirlinks treat symlinked dir on receiver as dir -H, --hard-links preserve hard links @@ -832,6 +833,25 @@ which point outside the copied tree. All absolute symlinks are also ignored. Using this option in conjunction with bf(--relative) may give unexpected results. +dit(bf(--munge-links)) This option tells rsync to (1) modify all symlinks on +the receiving side in a way that makes them unusable but recoverable (see +below), or (2) to unmunge symlinks on the sending side that had been stored in +a munged state. This is useful if you don't quite trust the source of the data +to not try to slip in a symlink to a unexpected place. + +The way rsync disables the use of symlinks is to prefix each one with the +string "/rsyncd-munged/". This prevents the links from being used as long as +that directory does not exist. When this option is enabled, rsync will refuse +to run if that path is a directory or a symlink to a directory. + +The option only affects the client side of the transfer, so if you need it to +affect the server, specify it via bf(--remote-option). (Note that in a local +transfer, the client side is the sender.) + +This option has no affect on a daemon, since the daemon configures whether it +wants munged symlinks via its "munge symlinks" parameter. See also the +"munge-symlinks" perl script in the support directory of the source code. + dit(bf(-k, --copy-dirlinks)) This option causes the sending side to treat a symlink to a directory as though it were a real directory. This is useful if you don't want symlinks to non-directories to be affected, as @@ -1601,6 +1621,11 @@ An example: quote(tt( rsync -av --link-dest=$PWD/prior_dir host:src_dir/ new_dir/)) +If file's aren't linking, double-check their attributes. Also check if some +attributes are getting forced outside of rsync's control, such a mount option +that squishes root to a single user, or mounts a removable drive with generic +ownership (such as OS X's "Ignore ownership on this volume" option). + Beginning in version 2.6.4, multiple bf(--link-dest) directories may be provided, which will cause rsync to search the list in the order specified for an exact match. @@ -1893,10 +1918,24 @@ would output as "\#012". A literal backslash that is in a filename is not escaped unless it is followed by a hash and 3 digits (0-9). dit(bf(-h, --human-readable)) Output numbers in a more human-readable format. -This makes big numbers output using larger units, with a K, M, or G suffix. If -this option was specified once, these units are K (1000), M (1000*1000), and -G (1000*1000*1000); if the option is repeated, the units are powers of 1024 -instead of 1000. +There are 3 possible levels: (1) output numbers with a separator between each +set of 3 digits (either a comma or a period, depending on if the decimal point +is represented by a period or a comma); (2) output numbers in units of 1000 +(with a character suffix for larger units -- see below); (3) output numbers in +units of 1024. + +The default is human-readable level 1. Each bf(-h) option increases the level +by one. You can take the level down to 0 (to output numbers as pure digits) by +specifing the bf(--no-human-readable) (bf(--no-h)) option. + +The unit letters that are appended in levels 2 and 3 are: K (kilo), M (mega), +G (giga), or T (tera). For example, a 1234567-byte file would output as 1.23M +in level-2 (assuming that a period is your local decimal point). + +Backward compatibility note: versions of rsync prior to 3.1.0 do not support +human-readable level 1, and they default to level 0. Thus, specifying one or +two bf(-h) options behaves the same in old and new versions as long as you +didn't specify a bf(--no-h) option prior to one or more bf(-h) options. dit(bf(--partial)) By default, rsync will delete any partially transferred file if the transfer is interrupted. In some circumstances @@ -2362,7 +2401,7 @@ itemization( 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() a '*' matches any path component, but 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:]].