| WHAT IS RSYNC? |
| -------------- |
| |
| rsync is a replacement for rcp that has many more features. |
| |
| rsync uses the "rsync algorithm" which provides a very fast method for |
| bringing remote files into sync. It does this by sending just the |
| differences in the files across the link, without requiring that both |
| sets of files are present at one of the ends of the link beforehand. |
| At first glance this may seem impossible because the calculation of |
| diffs between two files normally requires local access to both |
| files. |
| |
| A technical report describing the rsync algorithm is included with |
| this package. |
| |
| |
| USAGE |
| ----- |
| |
| Basically you use rsync just like rcp, but rsync has many additional options. |
| |
| Here is a brief description of rsync usage: |
| |
| Usage: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST |
| or rsync [OPTION]... [USER@]HOST:SRC DEST |
| or rsync [OPTION]... SRC [SRC]... DEST |
| or rsync [OPTION]... [USER@]HOST::SRC [DEST] |
| or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST |
| or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] |
| SRC on single-colon remote HOST will be expanded by remote shell |
| SRC on server remote HOST may contain shell wildcards or multiple |
| sources separated by space as long as they have same top-level |
| |
| Options |
| -v, --verbose increase verbosity |
| -q, --quiet decrease verbosity |
| -c, --checksum always checksum |
| -a, --archive archive mode |
| -r, --recursive recurse into directories |
| -R, --relative use relative path names |
| -b, --backup make backups (default ~ suffix) |
| --suffix=SUFFIX override backup suffix |
| -u, --update update only (don't overwrite newer files) |
| -l, --links preserve soft links |
| -L, --copy-links treat soft links like regular files |
| --copy-unsafe-links copy links outside the source tree |
| --safe-links ignore links outside the destination tree |
| -H, --hard-links preserve hard links |
| -p, --perms preserve permissions |
| -o, --owner preserve owner (root only) |
| -g, --group preserve group |
| -D, --devices preserve devices (root only) |
| -t, --times preserve times |
| -S, --sparse handle sparse files efficiently |
| -n, --dry-run show what would have been transferred |
| -W, --whole-file copy whole files, no incremental checks |
| -x, --one-file-system don't cross filesystem boundaries |
| -B, --block-size=SIZE checksum blocking size (default 700) |
| -e, --rsh=COMMAND specify rsh replacement |
| --rsync-path=PATH specify path to rsync on the remote machine |
| -C, --cvs-exclude auto ignore files in the same way CVS does |
| --delete delete files that don't exist on the sending side |
| --delete-excluded also delete excluded files on the receiving side |
| --partial keep partially transferred files |
| --force force deletion of directories even if not empty |
| --numeric-ids don't map uid/gid values by user/group name |
| --timeout=TIME set IO timeout in seconds |
| -I, --ignore-times don't exclude files that match length and time |
| --size-only only use file size when determining if a file should be transferred |
| -T --temp-dir=DIR create temporary files in directory DIR |
| --compare-dest=DIR also compare destination files relative to DIR |
| -z, --compress compress file data |
| --exclude=PATTERN exclude files matching PATTERN |
| --exclude-from=FILE exclude patterns listed in FILE |
| --include=PATTERN don't exclude files matching PATTERN |
| --include-from=FILE don't exclude patterns listed in FILE |
| --version print version number |
| --daemon run as a rsync daemon |
| --config=FILE specify alternate rsyncd.conf file |
| --port=PORT specify alternate rsyncd port number |
| --stats give some file transfer stats |
| --progress show progress during transfer |
| --log-format=FORMAT log file transfers using specified format |
| --password-file=FILE get password from FILE |
| -h, --help show this help screen |
| |
| |
| |
| SETUP |
| ----- |
| |
| Rsync uses rsh or ssh for communication. It does not need to be setuid |
| and requires no special privileges for installation. It does not |
| require a inetd entry or a daemon. You must, however, have a working |
| rsh or ssh system. Using ssh is recommended for its security |
| features. |
| |
| To install rsync, first run the "configure" script. This will create a |
| Makefile and config.h appropriate for your system. Then type |
| "make". |
| |
| Note that on some systems you will have to force configure not to use |
| gcc because gcc may not support some features (such as 64 bit file |
| offsets) that your system may support. Set the environment variable CC |
| to the name of your native compiler before running configure in this |
| case. |
| |
| Once built put a copy of rsync in your search path on the local and |
| remote systems (or use "make install"). That's it! |
| |
| RSYNC SERVERS |
| ------------- |
| |
| rsync can also talk to "rsync servers" which can provide anonymous or |
| authenticated rsync. See the rsyncd.conf(5) man page for details on how |
| to setup a rsync server. See the rsync(1) man page for info on how to |
| connect to a rsync server. |
| |
| |
| MAILING LIST |
| ------------ |
| |
| There is a mailing list for the discussion of rsync and its |
| applications. It is open to anyone to join. I will announce new |
| versions on this list. |
| |
| To join the mailing list send mail to listproc@samba.org with |
| no subject and a body of "subscribe rsync Your Name". |
| |
| To send mail to everyone on the list send it to rsync@samba.org |
| |
| |
| BUG REPORTS |
| ----------- |
| |
| If you have web access then please look at |
| http://rsync.samba.org/rsync/ |
| |
| This will give you access to the bug tracking system used by the |
| developers of rsync and will allow you to look at other bug reports or |
| submit a new bug report. |
| |
| If you don't have web access then mail bug reports to |
| rsync-bugs@samba.org or (if you think it will be of interest to lots |
| of people) send it to rsync@samba.org |
| |
| |
| CVS TREE |
| -------- |
| |
| If you want to get the very latest version of rsync direct from the |
| source code repository then you can use anonymous cvs. You will need a |
| recent version of cvs then use the following commands: |
| |
| cvs -d :pserver:cvs@cvs.samba.org:/cvsroot login |
| Password: cvs |
| |
| cvs -d :pserver:cvs@cvs.samba.org:/cvsroot co rsync |
| |
| Look at the cvs documentation for more details. |
| |
| |
| COPYRIGHT |
| --------- |
| |
| Rsync was written by Andrew Tridgell and Paul Mackerras, and is |
| available under the Gnu Public License. |
| |
| tridge@samba.org |
| paulus@cs.anu.edu.au |
| |
| |
| AVAILABILITY |
| ------------ |
| |
| The main web site for rsync is http://rsync.samba.org/ |
| The main ftp site is ftp://rsync.samba.org/pub/rsync/ |
| This is also available as rsync://rsync.samba.org/rsyncftp/ |