4 rsync is a replacement for rcp that has many more features.
6 rsync uses the "rsync algorithm" which provides a very fast method for
7 bringing remote files into sync. It does this by sending just the
8 differences in the files across the link, without requiring that both
9 sets of files are present at one of the ends of the link beforehand.
10 At first glance this may seem impossible because the calculation of
11 diffs between two files normally requires local access to both
14 A technical report describing the rsync algorithm is included with
21 Basically you use rsync just like rcp, but rsync has many additional options.
23 Here is a brief description of rsync usage:
25 Usage: rsync [OPTION]... SRC [USER@]HOST:DEST
26 or rsync [OPTION]... [USER@]HOST:SRC DEST
27 or rsync [OPTION]... SRC DEST
28 or rsync [OPTION]... [USER@]HOST::SRC [DEST]
29 or rsync [OPTION]... SRC [USER@]HOST::DEST
30 or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
33 -v, --verbose increase verbosity
34 -c, --checksum always checksum
35 -a, --archive archive mode
36 -r, --recursive recurse into directories
37 -R, --relative use relative path names
38 -b, --backup make backups (default ~ extension)
39 -u, --update update only (don't overwrite newer files)
40 -l, --links preserve soft links
41 -L, --copy-links treat soft links like regular files
42 --safe-links ignore links outside the destination tree
43 -H, --hard-links preserve hard links
44 -p, --perms preserve permissions
45 -o, --owner preserve owner (root only)
46 -g, --group preserve group
47 -D, --devices preserve devices (root only)
48 -t, --times preserve times
49 -S, --sparse handle sparse files efficiently
50 -n, --dry-run show what would have been transferred
51 -W, --whole-file copy whole files, no incremental checks
52 -x, --one-file-system don't cross filesystem boundaries
53 -B, --block-size=SIZE checksum blocking size
54 -e, --rsh=COMMAND specify rsh replacement
55 --rsync-path=PATH specify path to rsync on the remote machine
56 -C, --cvs-exclude auto ignore files in the same way CVS does
57 --delete delete files that don't exist on the sending side
58 --partial keep partially transferred files
59 --force force deletion of directories even if not empty
60 --numeric-ids don't map uid/gid values by user/group name
61 --timeout=TIME set IO timeout in seconds
62 -I, --ignore-times don't exclude files that match length and time
63 -T --temp-dir=DIR create temporary files in directory DIR
64 --compare-dest=DIR also compare destination files relative to DIR
65 -z, --compress compress file data
66 --exclude=PATTERN exclude files matching PATTERN
67 --exclude-from=FILE exclude patterns listed in FILE
68 --include=PATTERN don't exclude files matching PATTERN
69 --include-from=FILE don't exclude patterns listed in FILE
70 --suffix=SUFFIX override backup suffix
71 --version print version number
72 --daemon run as a rsync daemon
73 --config=FILE specify alternate rsyncd.conf file
74 --port=PORT specify alternate rsyncd port number
75 --stats give some file transfer stats
76 --progress show progress during transfer
77 --log-format=FORMAT log file transfers using specified format
78 -h, --help show this help screen
84 Rsync uses rsh or ssh for communication. It does not need to be setuid
85 and requires no special privileges for installation. It does not
86 require a inetd entry or a daemon. You must, however, have a working
87 rsh or ssh system. Using ssh is recommended for its security
90 To install rsync, first run the "configure" script. This will create a
91 Makefile and config.h appropriate for your system. Then type
94 Note that on some systems you will have to force configure not to use
95 gcc because gcc may not support some features (such as 64 bit file
96 offsets) that your system may support. Set the environment variable CC
97 to the name of your native compiler before running configure in this
100 Once built put a copy of rsync in your search path on the local and
101 remote systems (or use "make install"). That's it!
106 rsync can also talk to "rsync servers" which can provide anonymous or
107 authenticated rsync. See the rsyncd.conf(5) man page for details on how
108 to setup a rsync server. See the rsync(1) man page for info on how to
109 connect to a rsync server.
115 There is a mailing list for the discussion of rsync and its
116 applications. It is open to anyone to join. I will announce new
117 versions on this list.
119 To join the mailing list send mail to listproc@samba.org with
120 no subject and a body of "subscribe rsync Your Name".
122 To send mail to everyone on the list send it to rsync@samba.org
128 If you have web access then please look at
129 http://rsync.samba.org/rsync/
131 This will give you access to the bug tracking system used by the
132 developers of rsync and will allow you to look at other bug reports or
133 submit a new bug report.
135 If you don't have web access then mail bug reports to
136 rsync-bugs@samba.org or (if you think it will be of interest to lots
137 of people) send it to rsync@samba.org
143 If you want to get the very latest version of rsync direct from the
144 source code repository then you can use anonymous cvs. You will need a
145 recent version of cvs then use the following commands:
147 cvs -d :pserver:cvs@cvs.samba.org:/cvsroot login
150 cvs -d :pserver:cvs@cvs.samba.org:/cvsroot co rsync
152 Look at the cvs documentation for more details.
158 Rsync was written by Andrew Tridgell and Paul Mackerras, and is
159 available under the Gnu Public License.
168 The main web site for rsync is http://rsync.samba.org/
169 The main ftp site is ftp://rsync.samba.org/pub/rsync/
170 This is also available as rsync://rsync.samba.org/rsyncftp/