Split code out into separate files and remove some global variables to
[rsync/rsync.git] / README
CommitLineData
c627d613
AT
1WHAT IS RSYNC?
2--------------
3
4rsync is a replacement for rcp that has many more features.
5
10ce5fbf 6rsync uses the "rsync algorithm" which provides a very fast method for
c627d613
AT
7bringing remote files into sync. It does this by sending just the
8differences in the files across the link, without requiring that both
9sets of files are present at one of the ends of the link beforehand.
10At first glance this may seem impossible because the calculation of
11diffs between two files normally requires local access to both
12files.
13
14A technical report describing the rsync algorithm is included with
c6e7fcb4 15this package.
c627d613
AT
16
17
18USAGE
19-----
20
21Basically you use rsync just like rcp, but rsync has many additional options.
22
dcc3a131 23Here is a brief description of rsync usage:
c627d613 24
9ef53907 25Usage: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
dcc3a131 26 or rsync [OPTION]... [USER@]HOST:SRC DEST
9ef53907 27 or rsync [OPTION]... SRC [SRC]... DEST
dcc3a131 28 or rsync [OPTION]... [USER@]HOST::SRC [DEST]
9ef53907 29 or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
dcc3a131 30 or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
9ef53907
DD
31SRC on single-colon remote HOST will be expanded by remote shell
32SRC on server remote HOST may contain shell wildcards or multiple
33 sources separated by space as long as they have same top-level
dcc3a131
DD
34
35Options
36 -v, --verbose increase verbosity
9ef53907 37 -q, --quiet decrease verbosity
dcc3a131
DD
38 -c, --checksum always checksum
39 -a, --archive archive mode
40 -r, --recursive recurse into directories
41 -R, --relative use relative path names
9ef53907
DD
42 -b, --backup make backups (default ~ suffix)
43 --suffix=SUFFIX override backup suffix
dcc3a131
DD
44 -u, --update update only (don't overwrite newer files)
45 -l, --links preserve soft links
46 -L, --copy-links treat soft links like regular files
b5313607 47 --copy-unsafe-links copy links outside the source tree
dcc3a131
DD
48 --safe-links ignore links outside the destination tree
49 -H, --hard-links preserve hard links
50 -p, --perms preserve permissions
51 -o, --owner preserve owner (root only)
52 -g, --group preserve group
53 -D, --devices preserve devices (root only)
54 -t, --times preserve times
55 -S, --sparse handle sparse files efficiently
56 -n, --dry-run show what would have been transferred
57 -W, --whole-file copy whole files, no incremental checks
58 -x, --one-file-system don't cross filesystem boundaries
9ef53907 59 -B, --block-size=SIZE checksum blocking size (default 700)
dcc3a131
DD
60 -e, --rsh=COMMAND specify rsh replacement
61 --rsync-path=PATH specify path to rsync on the remote machine
62 -C, --cvs-exclude auto ignore files in the same way CVS does
63 --delete delete files that don't exist on the sending side
b33b791e 64 --delete-excluded also delete excluded files on the receiving side
dcc3a131
DD
65 --partial keep partially transferred files
66 --force force deletion of directories even if not empty
67 --numeric-ids don't map uid/gid values by user/group name
68 --timeout=TIME set IO timeout in seconds
69 -I, --ignore-times don't exclude files that match length and time
a8b9d4ed 70 --size-only only use file size when determining if a file should be transferred
dcc3a131
DD
71 -T --temp-dir=DIR create temporary files in directory DIR
72 --compare-dest=DIR also compare destination files relative to DIR
73 -z, --compress compress file data
74 --exclude=PATTERN exclude files matching PATTERN
75 --exclude-from=FILE exclude patterns listed in FILE
76 --include=PATTERN don't exclude files matching PATTERN
77 --include-from=FILE don't exclude patterns listed in FILE
dcc3a131
DD
78 --version print version number
79 --daemon run as a rsync daemon
80 --config=FILE specify alternate rsyncd.conf file
81 --port=PORT specify alternate rsyncd port number
82 --stats give some file transfer stats
83 --progress show progress during transfer
84 --log-format=FORMAT log file transfers using specified format
9ef53907 85 --password-file=FILE get password from FILE
dcc3a131 86 -h, --help show this help screen
c627d613
AT
87
88
9ef53907 89
c627d613
AT
90SETUP
91-----
92
eeb1568f
MP
93Rsync normally uses rsh or ssh for communication. It does not need to
94be setuid and requires no special privileges for installation. You
95must, however, have a working rsh or ssh system. Using ssh is
96recommended for its security features.
97
98Alternatively, rsync can run in `daemon' mode, listening on a socket.
99This is generally used for public file distribution, although
100authentication and access control are available.
c627d613
AT
101
102To install rsync, first run the "configure" script. This will create a
103Makefile and config.h appropriate for your system. Then type
104"make".
105
debb4505
AT
106Note that on some systems you will have to force configure not to use
107gcc because gcc may not support some features (such as 64 bit file
108offsets) that your system may support. Set the environment variable CC
109to the name of your native compiler before running configure in this
110case.
111
c627d613
AT
112Once built put a copy of rsync in your search path on the local and
113remote systems (or use "make install"). That's it!
114
e095b568
AT
115RSYNC SERVERS
116-------------
117
118rsync can also talk to "rsync servers" which can provide anonymous or
ed06894a 119authenticated rsync. See the rsyncd.conf(5) man page for details on how
e095b568
AT
120to setup a rsync server. See the rsync(1) man page for info on how to
121connect to a rsync server.
122
c627d613 123
432b0fbd
AT
124MAILING LIST
125------------
126
127There is a mailing list for the discussion of rsync and its
128applications. It is open to anyone to join. I will announce new
129versions on this list.
130
d153974e 131To join the mailing list see the web page at http://lists.samba.org/
432b0fbd 132
9e3c856a 133To send mail to everyone on the list send it to rsync@samba.org
432b0fbd
AT
134
135
e92338c8
AT
136BUG REPORTS
137-----------
138
139If you have web access then please look at
9e3c856a 140http://rsync.samba.org/rsync/
e92338c8
AT
141
142This will give you access to the bug tracking system used by the
143developers of rsync and will allow you to look at other bug reports or
144submit a new bug report.
145
9e696bd4 146If you don't have web access then mail bug reports to rsync@samba.org.
e92338c8
AT
147
148
527cea66
AT
149CVS TREE
150--------
151
152If you want to get the very latest version of rsync direct from the
153source code repository then you can use anonymous cvs. You will need a
154recent version of cvs then use the following commands:
155
eeb1568f 156 cvs -d :pserver:cvs@pserver.samba.org:/cvsroot login
527cea66
AT
157 Password: cvs
158
eeb1568f 159 cvs -d :pserver:cvs@pserver.samba.org:/cvsroot co rsync
527cea66 160
eeb1568f
MP
161Look at the cvs documentation, or http://samba.org/cvs.html, for more
162details.
527cea66
AT
163
164
c627d613
AT
165COPYRIGHT
166---------
167
9e696bd4
MP
168rsync was originally written by Andrew Tridgell and has been improved
169by many developers around the world. rsync may be used, modified and
170redistributed only under the terms of the GNU General Public License,
171found in the file COPYING in this distribution, or at
c627d613 172
9e696bd4 173 http://www.fsf.org/licenses/gpl.html
c627d613
AT
174
175
176AVAILABILITY
177------------
178
9e3c856a
AT
179The main web site for rsync is http://rsync.samba.org/
180The main ftp site is ftp://rsync.samba.org/pub/rsync/
181This is also available as rsync://rsync.samba.org/rsyncftp/