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 normally uses rsh or ssh for communication. It does not need to be setuid and requires no special privileges for installation. You must, however, have a working rsh or ssh system. Using ssh is recommended for its security features. Alternatively, rsync can run in `daemon' mode, listening on a socket. This is generally used for public file distribution, although authentication and access control are available. 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 see the web page at http://lists.samba.org/ 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@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@pserver.samba.org:/cvsroot login Password: cvs cvs -d :pserver:cvs@pserver.samba.org:/cvsroot co rsync Look at the cvs documentation, or http://samba.org/cvs.html, for more details. COPYRIGHT --------- rsync was originally written by Andrew Tridgell and has been improved by many developers around the world. rsync may be used, modified and redistributed only under the terms of the GNU General Public License, found in the file COPYING in this distribution, or at http://www.fsf.org/licenses/gpl.html 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/