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