| 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 available options: |
| 24 | |
| 25 | Options: |
| 26 | -v, --verbose increase verbosity |
| 27 | -c, --checksum always checksum |
| 28 | -a, --archive archive mode (same as -rlptDog) |
| 29 | -r, --recursive recurse into directories |
| 30 | -R, --relative use relative path names |
| 31 | -b, --backup make backups (default ~ extension) |
| 32 | -u, --update update only (don't overwrite newer files) |
| 33 | -l, --links preserve soft links |
| 34 | -L, --copy-links treat soft links like regular files |
| 35 | -H, --hard-links preserve hard links |
| 36 | -p, --perms preserve permissions |
| 37 | -o, --owner preserve owner (root only) |
| 38 | -g, --group preserve group |
| 39 | -D, --devices preserve devices (root only) |
| 40 | -t, --times preserve times |
| 41 | -S, --sparse handle sparse files efficiently |
| 42 | -n, --dry-run show what would have been transferred |
| 43 | -W, --whole-file copy whole files, no incremental checks |
| 44 | -x, --one-file-system don't cross filesystem boundaries |
| 45 | -B, --block-size SIZE checksum blocking size |
| 46 | -e, --rsh COMMAND specify rsh replacement |
| 47 | --rsync-path PATH specify path to rsync on the remote machine |
| 48 | -C, --cvs-exclude auto ignore files in the same way CVS does |
| 49 | --delete delete files that don't exist on the sending side |
| 50 | --force force deletion of directories even if not empty |
| 51 | --numeric-ids don't map uid/gid values by user/group name |
| 52 | --timeout TIME set IO timeout in seconds |
| 53 | -I, --ignore-times don't exclude files that match length and time |
| 54 | -T --temp-dir DIR create temporary files in directory DIR |
| 55 | -z, --compress compress file data |
| 56 | --exclude FILE exclude file FILE |
| 57 | --exclude-from FILE exclude files listed in FILE |
| 58 | --suffix SUFFIX override backup suffix |
| 59 | --version print version number |
| 60 | --daemon run as a rsync daemon |
| 61 | --config FILE specify alternate rsyncd.conf file |
| 62 | --port PORT specify alternate rsyncd port number |
| 63 | |
| 64 | |
| 65 | SETUP |
| 66 | ----- |
| 67 | |
| 68 | Rsync uses rsh or ssh for communication. It does not need to be setuid |
| 69 | and requires no special privileges for installation. It does not |
| 70 | require a inetd entry or a daemon. You must, however, have a working |
| 71 | rsh or ssh system. Using ssh is recommended for its security |
| 72 | features. |
| 73 | |
| 74 | To install rsync, first run the "configure" script. This will create a |
| 75 | Makefile and config.h appropriate for your system. Then type |
| 76 | "make". |
| 77 | |
| 78 | Note that on some systems you will have to force configure not to use |
| 79 | gcc because gcc may not support some features (such as 64 bit file |
| 80 | offsets) that your system may support. Set the environment variable CC |
| 81 | to the name of your native compiler before running configure in this |
| 82 | case. |
| 83 | |
| 84 | Once built put a copy of rsync in your search path on the local and |
| 85 | remote systems (or use "make install"). That's it! |
| 86 | |
| 87 | RSYNC SERVERS |
| 88 | ------------- |
| 89 | |
| 90 | rsync can also talk to "rsync servers" which can provide anonymous or |
| 91 | authenticated rsync. See the rsyncd.conf(5) man page for details on how |
| 92 | to setup a rsync server. See the rsync(1) man page for info on how to |
| 93 | connect to a rsync server. |
| 94 | |
| 95 | |
| 96 | MAILING LIST |
| 97 | ------------ |
| 98 | |
| 99 | There is a mailing list for the discussion of rsync and its |
| 100 | applications. It is open to anyone to join. I will announce new |
| 101 | versions on this list. |
| 102 | |
| 103 | To join the mailing list send mail to listproc@samba.anu.edu.au with |
| 104 | no subject and a body of "subscribe rsync Your Name". |
| 105 | |
| 106 | To send mail to everyone on the list send it to rsync@samba.anu.edu.au |
| 107 | |
| 108 | |
| 109 | BUG REPORTS |
| 110 | ----------- |
| 111 | |
| 112 | If you have web access then please look at |
| 113 | http://samba.anu.edu.au/rsync/ |
| 114 | |
| 115 | This will give you access to the bug tracking system used by the |
| 116 | developers of rsync and will allow you to look at other bug reports or |
| 117 | submit a new bug report. |
| 118 | |
| 119 | If you don't have web access then mail bug reports to |
| 120 | rsync-bugs@samba.anu.edu.au or (if you think it will be of interest to |
| 121 | lots of people) send it to rsync@samba.anu.edu.au |
| 122 | |
| 123 | |
| 124 | CVS TREE |
| 125 | -------- |
| 126 | |
| 127 | If you want to get the very latest version of rsync direct from the |
| 128 | source code repository then you can use anonymous cvs. You will need a |
| 129 | recent version of cvs then use the following commands: |
| 130 | |
| 131 | cvs -d :pserver:cvs@samba.anu.edu.au:/cvsroot login |
| 132 | Password: cvs |
| 133 | |
| 134 | cvs -d :pserver:cvs@samba.anu.edu.au:/cvsroot co rsync |
| 135 | |
| 136 | Look at the cvs documentation for more details. |
| 137 | |
| 138 | |
| 139 | COPYRIGHT |
| 140 | --------- |
| 141 | |
| 142 | Rsync was written by Andrew Tridgell and Paul Mackerras, and is |
| 143 | available under the Gnu Public License. |
| 144 | |
| 145 | tridge@samba.anu.edu.au |
| 146 | paulus@cs.anu.edu.au |
| 147 | |
| 148 | |
| 149 | AVAILABILITY |
| 150 | ------------ |
| 151 | |
| 152 | The main ftp site for rsync is ftp://samba.anu.edu.au/pub/rsync |
| 153 | This is also available as rsync://samba.anu.edu.au/rsyncftp/ |
| 154 | |
| 155 | Mirrors are available at: |
| 156 | |
| 157 | ftp://sunsite.auc.dk/pub/unix/rsync |
| 158 | ftp://ftp.sunet.se/pub/unix/admin/rsync |
| 159 | ftp://ftp.fu-berlin.de/pub/unix/network/rsync/ |