--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
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
device info (device & special files are created as empty text files), and
any permission bits that we won't allow to be set on the real file (e.g.
the real file gets u-s,g-s,o-t for safety) or that would limit the owner's
-access (since the real super-user can always access/change a file or
-directory, the files we create can always be accessed/changed by the
-creating user).
+access (since the real super-user can always access/change a file, the
+files we create can always be accessed/changed by the creating user).
The bf(--fake-super) option only affects the side where the option is used.
To affect the remote side of a remote-shell connection, specify an rsync
creating files (including directories) that do not exist
yet on the destination. If this option is
combined with the bf(--ignore-existing) option, no files will be updated
-(which can be useful if all you want to do is to delete extraneous files).
+(which can be useful if all you want to do is delete extraneous files).
dit(bf(--ignore-existing)) This tells rsync to skip updating files that
already exist on the destination (this does em(not) ignore existing
directories, or nothing would get done). See also bf(--existing).
+This option can be useful for those doing backups using the bf(--link-dest)
+option when they need to continue a backup run that got interrupted. Since
+a bf(--link-dest) run is copied into a new directory hierarchy (when it is
+used properly), using bf(--ignore existing) will ensure that the
+already-handled files don't get tweaked (which avoids a change in
+permissions on the hard-linked files). This does mean that this option
+is only looking at the existing files in the destination hierarchy itself.
+
dit(bf(--remove-source-files)) This tells rsync to remove from the sending
side the files (meaning non-directories) that are a part of the transfer
and have been successfully duplicated on the receiving side.
bf(--files-from), as does bf(--no-R) and all other options).
))
-The file names that are read from the FILE are all relative to the
+The filenames that are read from the FILE are all relative to the
source dir -- any leading slashes are removed and no ".." references are
allowed to go higher than the source dir. For example, take this
command:
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
- anytime a symlink is transferred, or when a file or device is transferred
- without bf(--times).
+ 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
the sender's value (requires bf(--perms)).
it() An bf(o) means the owner is different and is being updated to the
particular spot in the hierarchy of files, otherwise it is matched
against the end of the pathname. This is similar to a leading ^ in
regular expressions.
- Thus "/foo" would match a file named "foo" at either the "root of the
+ Thus "/foo" would match a name of "foo" at either the "root of the
transfer" (for a global rule) or in the merge-file's directory (for a
per-directory rule).
- An unqualified "foo" would match any file or directory named "foo"
- anywhere in the tree because the algorithm is applied recursively from
- the
+ An unqualified "foo" would match a name of "foo" anywhere in the
+ tree because the algorithm is applied recursively from the
top down; it behaves as if each path component gets a turn at being the
- end of the file name. Even the unanchored "sub/foo" would match at
+ end of the filename. Even the unanchored "sub/foo" would match at
any point in the hierarchy where a "foo" was found within a directory
named "sub". See the section on ANCHORING INCLUDE/EXCLUDE PATTERNS for
a full discussion of how to specify a pattern that matches at the root
of the transfer.
it() if the pattern ends with a / then it will only match a
- directory, not a file, link, or device.
+ directory, not a regular file, symlink, or device.
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 '[' .
can actually be any portion of a path from the starting directory on
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
+ "dir_name/" had been specified) and everything in the directory
(as if "dir_name/**" had been specified). This behavior was added in
version 2.6.7.
)
Here are some examples of exclude/include matching:
itemization(
- it() "- *.o" would exclude all filenames matching *.o
+ it() "- *.o" would exclude all names matching *.o
it() "- /foo" would exclude a file (or directory) named foo in the
transfer-root directory
it() "- foo/" would exclude any directory named foo