One common substitute is to use ssh, which offers a high degree of
security.
+Note that rsync must be installed on both the source and destination
+machines.
+
manpagesection(USAGE)
You use rsync in the same way you use rcp. You must specify a source
list of accessible paths on the server will be shown.
)
+Some paths on the remote server may require authentication. If so then
+you will receive a password prompt when you connect. You can avoid the
+password prompt by setting the environment variable RSYNC_PASSWORD to
+the password you want to use. This may be useful when scripting rsync.
+
manpagesection(RUNNING AN RSYNC SERVER)
An rsync server is configured using a config file which by default is
which already exist and have the same checksum and size on the
receiver are skipped. This option can be quite slow.
-dit(bf(-a, --archive)) This is equivalent to -rlptDog. It is a quick way
+dit(bf(-a, --archive)) This is equivalent to -rlptDg. It is a quick way
of saying I want recursion and want to preserve everything.
+Note: if the user launching rsync is root then the -o option (preserve
+uid) is also implied.
+
dit(bf(-r, --recursive)) This tells rsync to copy directories recursively
dit(bf(-R, --relative)) Use relative paths. This means that the full path
dit(bf(--rsync-path PATH)) Use this to specify the path to the copy of
rsync on the remote machine. Useful when its not in your path.
-dit(bf(--exclude FILE)) This option allows you to selectively exclude
+dit(bf(--exclude pattern)) This option allows you to selectively exclude
certain files from the list of files to be transferred. This is most
useful in combination with a recursive transfer.
-The option FILE can either be a file name or a shell wildcard
-expression. If it is a directory name then rsync will not recurse into
-directories of that name.
-
You may use as many --exclude options on the command line as you like
to build up the list of files to exclude.
-If the filename is a single ! then the exclude list is reset.
+See the section of exclude patterns for information on the syntax of
+this option.
dit(bf(--exclude-from FILE)) This option is similar to the --exclude
option, but instead it adds all filenames listed in the file FILE to
the exclude list.
+dit(bf(--include pattern)) This option tells rsync to not exclude the
+specified pattern of filenames. This is useful as it allows you to
+build up quite complex exclude/include rules.
+
+See the section of exclude patterns for information on the syntax of
+this option.
+
+dit(bf(--include-from FILE)) This specifies a list of include patterns
+from a file.
+
dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a
broad range of files that you often don't want to transfer between
systems. It uses the same algorithm that CVS uses to determine if
dit(bf(--port PORT)) This specifies an alternate TCP port number to use
rather than the default port 873.
+dit(bf(--stats)) This tells rsync to print a verbose set of statistics
+on the file transfer, allowing you to tell how effective the rsync
+algorithm is for your data. This option only works in conjunction with
+the -v (verbose) option.
+
enddit()
+manpagesection(EXCLUDE PATTERNS)
+
+The exclude and include patterns specified to rsync allow for flexible
+selection of what files to transfer and what files to skip.
+
+rsync build a ordered list of include/exclude options as specified on
+the command line. When a filename is encountered rsync then checks the
+name against each exclude/include pattern in turn. The first matching
+pattern is acted on. If it is an exclude pattern than that file is
+skipped. If it is an include pattern then that filename is not
+skipped. If no matching include/exclude pattern is found then the
+filename is not skipped.
+
+The patterns themselves can take several forms. The rules are:
+
+itemize(
+ it() if the pattern starts with a / then it is matched against the
+ start of the filename, otherwise it is matched against the end of
+ the filename. Thus /foo would match a file called foo
+ at the base of the tree whereas foo would match any file
+ called foo anywhere in the tree.
+
+ it() if the pattern ends with a / then it will only match a
+ 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.
+
+ 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.
+
+ it() if the pattern starts with "+ " (a plus followed by a space)
+ then it is always considered a include pattern, even if specified as
+ part of an exclude option. The "+ " part is discarded before matching.
+
+ it() if the pattern starts with "- " (a minus followed by a space)
+ then it is always considered a exclude pattern, even if specified as
+ part of an include option. The "- " part is discarded before matching.
+)
+
+The +/- rules are most useful in exclude lists, allowing you to have a
+single exclude list that contains both include and exclude options.
+
+Here are some examples:
+
+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() --include "*/" --include "*.c" --exclude "*" would include all
+ directories and C source files.
+)
+
manpagefiles()
/etc/rsyncd.conf
file permissions, devices etc are transferred as native numerical
values
-see also the comments on the -delete option
+see also the comments on the --delete option
Please report bugs! The rsync bug tracking system is online at
url(http://samba.anu.edu.au/rsync/)(http://samba.anu.edu.au/rsync/)