Update the README file to reflect current usage options.
[rsync/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 [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]
31
32 Options
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
79
80
81 SETUP
82 -----
83
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
88 features. 
89
90 To install rsync, first run the "configure" script. This will create a
91 Makefile and config.h appropriate for your system. Then type
92 "make". 
93
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
98 case. 
99
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!
102
103 RSYNC SERVERS
104 -------------
105
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.
110
111
112 MAILING LIST
113 ------------
114
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. 
118
119 To join the mailing list send mail to listproc@samba.org with
120 no subject and a body of "subscribe rsync Your Name".
121
122 To send mail to everyone on the list send it to rsync@samba.org
123
124
125 BUG REPORTS
126 -----------
127
128 If you have web access then please look at
129 http://rsync.samba.org/rsync/ 
130
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.
134
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
138
139
140 CVS TREE
141 --------
142
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:
146
147         cvs -d :pserver:cvs@cvs.samba.org:/cvsroot login
148         Password: cvs
149
150         cvs -d :pserver:cvs@cvs.samba.org:/cvsroot co rsync
151
152 Look at the cvs documentation for more details.
153
154
155 COPYRIGHT
156 ---------
157
158 Rsync was written by Andrew Tridgell and Paul Mackerras, and is
159 available under the Gnu Public License.
160
161 tridge@samba.org
162 paulus@cs.anu.edu.au
163
164
165 AVAILABILITY
166 ------------
167
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/