X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b567933566b3b2d5e863685f43f7330b4369b5e9..896bd482c0c87d11e19f9bcffbcb35c6aba00e43:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 00671eb9..9f27cf97 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsync)(1)(15 Feb 1999)()() +manpage(rsync)(1)(22 Feb 1999)()() manpagename(rsync)(faster, flexible replacement for rcp) manpagesynopsis() @@ -233,6 +233,7 @@ Options -u, --update update only (don't overwrite newer files) -l, --links preserve soft links -L, --copy-links treat soft links like regular files + --copy-unsafe-links copy links outside the source tree --safe-links ignore links outside the destination tree -H, --hard-links preserve hard links -p, --perms preserve permissions @@ -249,11 +250,13 @@ Options --rsync-path=PATH specify path to rsync on the remote machine -C, --cvs-exclude auto ignore files in the same way CVS does --delete delete files that don't exist on the sending side + --delete-excluded also delete excluded files on the receiving side --partial keep partially transferred files --force force deletion of directories even if not empty --numeric-ids don't map uid/gid values by user/group name --timeout=TIME set IO timeout in seconds -I, --ignore-times don't exclude files that match length and time + --size-only only use file size when determining if a file should be transferred -T --temp-dir=DIR create temporary files in directory DIR --compare-dest=DIR also compare destination files relative to DIR -z, --compress compress file data @@ -303,6 +306,13 @@ dit(bf(-I, --ignore-times)) Normally rsync will skip any files that are already the same length and have the same time-stamp. This option turns off this behavior. +dit(bf(-I, --size-only)) Normally rsync will skip any files that are +already the same length and have the same time-stamp. With the +--size-only option files will be skipped if they have the same size, +regardless of timestamp. This is useful when starting to use rsync +after using another mirroring system which may not preserve timestamps +exactly. + dit(bf(-c, --checksum)) This forces the sender to checksum all files using a 128-bit MD4 checksum before transfer. The checksum is then explicitly checked on the receiver and any files of the same name @@ -349,7 +359,12 @@ remote system to be the same as the local system. Without this option, all symbolic links are skipped. dit(bf(-L, --copy-links)) This tells rsync to treat symbolic links just -like ordinary files. +like ordinary files. + +dit(bf(--copy-unsafe-links)) This tells rsync to treat symbolic links that +point outside the source tree like ordinary files. Absolute symlinks are +also treated like ordinary files, and so are any symlinks in the source +path itself when --relative is used. dit(bf(--safe-links)) This tells rsync to ignore any symbolic links which point outside the destination tree. All absolute symlinks are @@ -416,12 +431,12 @@ boundaries when recursing. This is useful for transferring the contents of only one filesystem. dit(bf(--delete)) This tells rsync to delete any files on the receiving -side that aren't on the sending side. This option can be dangerous if -used incorrectly! +side that aren't on the sending side. Files that are excluded from +transfer are excluded from being deleted unless you use --delete-excluded. -It is a very good idea to run first using the dry run option (-n) to -see what files would be deleted to make sure important files aren't -listed. +This option can be dangerous if used incorrectly! It is a very good idea +to run first using the dry run option (-n) to see what files would be +deleted to make sure important files aren't listed. rsync 1.6.4 changed the behavior of --delete to make it less dangerous. rsync now only scans directories on the receiving side @@ -438,14 +453,17 @@ prevent temporary filesystem failures (such as NFS errors) on the sending side causing a massive deletion of files on the destination. +dit(bf(--delete-excluded)) In addition to deleting the files on the +receiving side that are not on the sending side, this tells rsync to also +delete any files on the receiving side that are excluded (see --exclude). + dit(bf(--force)) This options tells rsync to delete directories even if they are not empty. This applies to both the --delete option and to cases where rsync tries to copy a normal file but the destination -contains a directory of the same name. Normally rsync will refuse to -do a recursive directory deletion in such cases, by using --force -the recursive deletion will be done. +contains a directory of the same name. -Use this option with caution! +Since this option was added, deletions were reordered to be done depth-first +so it is hardly ever needed anymore except in very obscure cases. dit(bf(-B , --block_size=BLOCKSIZE)) This controls the block size used in the rsync algorithm. See the technical report for details. @@ -628,14 +646,15 @@ itemize( directory, not a file, link or device. it() if the pattern contains a wildcard character from the set - *?[ then regular expression matching is applied using the - normal shell filename matching rules. Otherwise a simple string - match is used. + *?[ then expression matching is applied using the shell filename + matching rules. Otherwise a simple string match is used. it() if the pattern contains a / (not counting a trailing /) then it is matched against the full filename, including any leading directory. If the pattern doesn't contain a / then it is matched - only against the final component of the filename. + only against the final component of the filename. Furthermore, if + the pattern includes a double asterisk "**" then all wildcards in + the pattern will match slashes, otherwise they will stop at slashes. it() if the pattern starts with "+ " (a plus followed by a space) then it is always considered an include pattern, even if specified as @@ -658,6 +677,10 @@ itemize( it() --exclude "*.o" would exclude all filenames matching *.o it() --exclude "/foo" would exclude a file in the base directory called foo it() --exclude "foo/" would exclude any directory called foo + it() --exclude "/foo/*/bar" would exclude any file called bar two + levels below a base directory called foo + it() --exclude "/foo/**/bar" would exclude any file called bar two + or more levels below a base directory called foo it() --include "*/" --include "*.c" --exclude "*" would include all directories and C source files it() --include "foo/" --include "foo/bar.c" --exclude "*" would include