X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a4b6f30579bc46d88525b153e314aee6f5cbde79..2b284ee33d97c4414c49c45720a3566a58a93a18:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 1e2f2c71..ac472f50 100644 --- a/rsync.yo +++ b/rsync.yo @@ -458,6 +458,8 @@ very useful for incremental backups. You can additionally specify a backup suffix using the --suffix option (otherwise the files backed up in the specified directory will keep their original filenames). +If DIR is a relative path, it is relative to the destination directory +(which changes in a recursive transfer). dit(bf(--suffix=SUFFIX)) This option allows you to override the default backup suffix used with the --backup (-b) option. The default suffix is a ~ @@ -727,14 +729,14 @@ although this skips files that haven't changed; see also --link-dest). This option increases the usefulness of --partial because partially transferred files will remain in the new temporary destination until they have a chance to be completed. If DIR is a relative path, it is relative -to the destination directory. +to the destination directory (which changes in a recursive transfer). dit(bf(--link-dest=DIR)) This option behaves like bf(--compare-dest) but also will create hard links from em(DIR) to the destination directory for unchanged files. Files with changed ownership or permissions will not be linked. Like bf(--compare-dest) if DIR is a relative path, it is relative -to the destination directory. +to the destination directory (which changes in a recursive transfer). dit(bf(-z, --compress)) With this option, rsync compresses any data from the files that it sends to the destination machine. This @@ -887,7 +889,7 @@ manpagesection(EXCLUDE PATTERNS) The exclude and include patterns specified to rsync allow for flexible selection of which files to transfer and which files to skip. -rsync builds an ordered list of include/exclude options as specified on +Rsync builds an ordered list of include/exclude options as specified on the command line. Rsync checks each file and directory name against each exclude/include pattern in turn. The first matching pattern is acted on. If it is an exclude pattern, then that file is @@ -907,32 +909,47 @@ option affects the path you need to use in your matching (in addition to changing how much of the file tree is duplicated on the destination system). The following examples demonstrate this. -Let's say that we want to match a source filename that has an absolute -path of "/home/me/foo/bar", here is how the various command choices can -differ: +Let's say that we want to match two source files, one with an absolute +path of "/home/me/foo/bar", and one with a path of "/home/you/bar/baz". +Here is how the various command choices differ for a 2-source transfer: verb( - Example cmd: rsync -a /home/me /dest - Source root: /home ("me" is part of transfer) + Example cmd: rsync -a /home/me /home/you /dest + Source root: /home (me & you are part of transfer) +/- pattern: /me/foo/bar + +/- pattern: /you/bar/baz Target file: /dest/me/foo/bar + Target file: /dest/you/bar/baz - Example cmd: rsync -a /home/me/ /dest - Source root: /home/me (due to trailing /) - +/- pattern: /foo/bar (note missing "me") + Example cmd: rsync -a /home/me/ /home/you/ /dest + Source root: /home/me (due to trailing /) + Source root: /home/you (ditto) + +/- pattern: /foo/bar (note missing "me") + +/- pattern: /bar/baz (note missing "you") Target file: /dest/foo/bar + Target file: /dest/bar/baz - Example cmd: rsync -a --relative /home/me/ /dest - Source root: /home/me - +/- pattern: /home/me/foo/bar (note full path) + Example cmd: rsync -a --relative /home/me/ /home/you /dest + Source root: / + +/- pattern: /home/me/foo/bar (note full path) + +/- pattern: /home/you/bar/baz (ditto) Target file: /dest/home/me/foo/bar + Target file: /dest/home/you/bar/baz + + Example cmd: cd /home; rsync -a --relative me/foo you/ /dest + Source root: /home + +/- pattern: /me/foo/bar (starts at specified path) + +/- pattern: /you/bar/baz (ditto) + Target file: /dest/me/foo/bar + Target file: /dest/you/bar/baz ) The easiest way to see what name you should include/exclude is to just look at the output when using --verbose and put a / in front of the name (use the --dry-run option if you're not yet ready to copy any files). -Note that when used with -r (which is implied by -a), every subcomponent of +Note that, when using the --recursive (-r) option (which is implied by -a), +every subcomponent of every path is visited from the top down, so include/exclude patterns get applied recursively to each subcomponent. @@ -1197,6 +1214,7 @@ password to a shell transport such as ssh. dit(bf(USER) or bf(LOGNAME)) The USER or LOGNAME environment variables are used to determine the default username sent to an rsync server. +If neither is set, the username defaults to "nobody". dit(bf(HOME)) The HOME environment variable is used to find the user's default .cvsignore file. @@ -1253,19 +1271,13 @@ Thanks to Richard Brent, Brendan Mackay, Bill Waite, Stephen Rothwell and David Bell for helpful suggestions, patches and testing of rsync. I've probably missed some people, my apologies if I have. -Especial thanks also to: David Dykstra, Jos Backus, Sebastian Krahmer. - +Especial thanks also to: David Dykstra, Jos Backus, Sebastian Krahmer, +Martin Pool, Wayne Davison. manpageauthor() -rsync was written by Andrew Tridgell and Paul -Mackerras. - -rsync is now maintained by Martin Pool . +rsync was originally written by Andrew Tridgell and Paul Mackerras. +Many people have later contributed to it. Mailing lists for support and development are available at url(http://lists.samba.org)(lists.samba.org) - -If you suspect you have found a security vulnerability in rsync, -please send it directly to Martin Pool and Andrew Tridgell. For other -enquiries, please use the mailing list.