You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Wayne Davison f9e29dfb09 More NEWS updates. 4 days ago
.github/workflows Build Cygwin on windows-2022 with newer python. [buildall] 8 months ago
doc Spelling fixes from a Fossies run done by Jens. 2 years ago
lib Add support for various SHA checksum digests 3 weeks ago
m4 Tweak the grep to look for sys/sysmacros.h. 3 years ago
packaging Improve various things in the checksum code 3 weeks ago
popt More TANDEM changes 2 years ago
support Stop importing "re". 1 week ago
testhelp Use /usr/bin/env for increased portability. 2 years ago
testsuite Combine some alt-dest tests. 6 months ago
zlib A fix for the zlib fix. 2 months ago
.cirrus.yml Try freebsd-13-1 to fix weird wget issue. 3 weeks ago
.gitattributes Force git line endings (#68) 2 years ago
.gitignore Also ignore a root-level rrsync file. 7 months ago
COPYING Minor cleanup (#214) 1 year ago
Doxyfile Don't generate code for zlib and popt. 21 years ago
INSTALL.md Some md-convert doc tweaks. 2 months ago
Makefile.in Make asm use more selectable 7 months ago
NEWS.md More NEWS updates. 4 days ago
README.md Some word fixes. 6 months ago
SECURITY.md Create SECURITY.md 2 years ago
TODO A few more https changes. 2 years ago
access.c Preparing for release of 3.2.4pre2 9 months ago
acls.c Mention the filename when unpack_smb_acl() returns an error. 3 weeks ago
authenticate.c Improve various things in the checksum code 3 weeks ago
backup.c Preparing for release of 3.2.4pre2 9 months ago
batch.c Preparing for release of 3.2.5 2 months ago
byteorder.h Preparing for release of 3.2.5 2 months ago
case_N.h Two more spelling fixes and some year updates. 2 years ago
checksum.c Fix compile w/o openssl; disable sha256 & sha512 for --checksum. 4 days ago
chmod.c Two more spelling fixes and some year updates. 2 years ago
cleanup.c Mention file & line on OOM and overflow errors. 2 years ago
clientname.c Preparing for release of 3.2.4pre2 9 months ago
clientserver.c Some "use chroot" improvements. 1 week ago
cmd-or-msg Rename cmdormsg -> cmd-or-msg. 1 year ago
compat.c Improve various things in the checksum code 3 weeks ago
config.guess Update config.guess & config.sub. 2 years ago
config.sub Update config.guess & config.sub. 2 years ago
configure Improve the per-branch build dir support 2 years ago
configure.ac Improve various things in the checksum code 3 weeks ago
connection.c Set Copyright years and make them easier to update 3 years ago
csprotocol.txt Talk about the new daemon greeting line. 3 weeks ago
daemon-parm.awk Initialize values string in a more consistent spot. 2 years ago
daemon-parm.txt Some "use chroot" improvements. 1 week ago
define-from-md.awk Use documentation to extract 2 more .h lists 2 years ago
delete.c Some indentation fixes. 2 years ago
errcode.h Tweak the copyright year. 4 years ago
exclude.c We always add a slash now that path is cleaned. 2 weeks ago
fileio.c Some memory allocation improvements 2 years ago
flist.c Fix exclusion of /. with --relative. 2 weeks ago
generator.c Use string length diff heuristic to skip Levenshtein Algo (#369) 2 weeks ago
getfsdev.c Some indentation fixes. 2 years ago
getgroups.c Some misc cleanup 2 years ago
hashtable.c Tweak a define. 2 weeks ago
help-from-md.awk Use documentation to extract 2 more .h lists 2 years ago
hlink.c Preparing for release of 3.2.6 3 weeks ago
ifuncs.h Preparing for release of 3.2.4pre2 9 months ago
install-sh shell: test -a|o is not POSIX (#250) 11 months ago
inums.h Tweak the copyright year. 4 years ago
io.c Add safety check for local --remove-source-files. 1 month ago
io.h Tweak the copyright year. 4 years ago
itypes.h Preparing for release of 3.2.4pre2 9 months ago
latest-year.h Preparing for release of 3.2.4pre1 9 months ago
loadparm.c Make gcc die on init overflow of an array. 2 years ago
log.c Improve various things in the checksum code 3 weeks ago
main.c Improve various things in the checksum code 3 weeks ago
match.c Improve various things in the checksum code 3 weeks ago
maybe-make-man Change args to maybe-make-man. 9 months ago
md-convert Fix split limits. 1 month ago
md2man Unify md parsing scripts & improve non-man html conversions. 9 months ago
mkgitver Avoid test -e. 1 week ago
mkproto.awk Use touch for proto.h-tstamp since one awk wasn't updating mtime. 2 years ago
options.c Use JSON output if --version (-V) is repeated (client side only). 3 weeks ago
params.c Some memory allocation improvements 2 years ago
pipe.c Some indentation fixes. 2 years ago
prepare-source Some word fixes. 6 months ago
prepare-source.mak Don't make .PHONY the first target in a Makefile. 2 years ago
progress.c Preparing for release of 3.2.4pre2 9 months ago
receiver.c Improve various things in the checksum code 3 weeks ago
rounding.c Check extra rounding using an int64. 2 years ago
rsync-ssl add ssl/tls key option (#216) 1 year ago
rsync-ssl.1.md Link to rsyncd.conf page server-setup details. 3 months ago
rsync.1.md Use JSON output if --version (-V) is repeated (client side only). 3 weeks ago
rsync.c Remove some trailing whitespace. 2 months ago
rsync.h Pre-compute FILE_SUM_EXTRA_CNT. 2 weeks ago
rsync3.txt A few more https changes. 2 years ago
rsyncd.conf.5.md Some "use chroot" improvements. 1 week ago
rsyncsh.txt Notes on an interactive shell for rsync. 21 years ago
runtests.sh Preparing for release of 3.2.4pre2 9 months ago
sender.c Add safety check for local --remove-source-files. 1 month ago
shconfig.in Better fakeroot support helps Solaris. 11 years ago
simd-checksum-avx2.S Make asm use more selectable 7 months ago
simd-checksum-x86_64.cpp Make asm use more selectable 7 months ago
socket.c Some memory allocation improvements 2 years ago
stunnel-rsyncd.conf.in Change the rsync-ssl helper script 2 years ago
syscall.c Add FALLTHROUGH comment. 7 months ago
t_stub.c Remove unneeded var. 1 month ago
t_unsafe.c Some indentation fixes. 2 years ago
tech_report.tex updates to reflect new samba.org domain 24 years ago
testrun.c Let's cast getpid() to an int instead of a long for snprintf(). 11 years ago
tls.c Preparing for release of 3.2.4pre2 9 months ago
token.c Preparing for release of 3.2.4pre2 9 months ago
trimslash.c Some var cleanup; move test-util vars into t_stub.c. 2 years ago
uidlist.c Preparing for release of 3.2.5pre1 2 months ago
usage.c Improve output of "N-bit" items in json data. 3 weeks ago
util1.c Use string length diff heuristic to skip Levenshtein Algo (#369) 2 weeks ago
util2.c Make my_alloc(NULL) use malloc instead of calloc. 2 years ago
version.h Start 3.2.7dev going. 3 weeks ago
wildtest.c Tweak the copyright year. 4 years ago
wildtest.txt A few extra directory-style matching tests. 17 years ago
xattrs.c Use hashlittle2() for xattr hashing 2 weeks ago

README.md

WHAT IS RSYNC?

Rsync is a fast and extraordinarily versatile file copying tool for both remote and local files.

Rsync uses a delta-transfer 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 scp, but rsync has many additional options. To get a complete list of supported options type:

rsync --help

See the manpage for more detailed information.

BUILDING AND INSTALLING

If you need to build rsync yourself, check out the INSTALL page for information on what libraries and packages you can use to get the maximum features in your build.

SETUP

Rsync normally uses ssh or rsh for communication with remote systems. It does not need to be setuid and requires no special privileges for installation. You must, however, have a working ssh or rsh 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 DAEMONS

Rsync can also talk to "rsync daemons" which can provide anonymous or authenticated rsync. See the rsyncd.conf(5) manpage for details on how to setup an rsync daemon. See the rsync(1) manpage for info on how to connect to an rsync daemon.

WEB SITE

For more information, visit the main rsync web site.

You'll find a FAQ list, downloads, resources, HTML versions of the manpages, etc.

MAILING LISTS

There is a mailing list for the discussion of rsync and its applications that is open to anyone to join. New releases are announced on this list, and there is also an announcement-only mailing list for those that want official announcements. See the mailing-list page for full details.

BUG REPORTS

The bug-tracking web page has full details on bug reporting.

That page contains links to the current bug list, and information on how to do a good job when reporting a bug. You might also like to try searching the Internet for the error message you've received, or looking in the mailing list archives.

To send a bug report, follow the instructions on the bug-tracking page of the web site.

Alternately, email your bug report to rsync@lists.samba.org.

GIT REPOSITORY

If you want to get the very latest version of rsync direct from the source code repository, then you will need to use git. The git repo is hosted on GitHub and on Samba's site.

See the download page for full details on all the ways to grab the source.

Rsync was originally written by Andrew Tridgell and is currently maintained by Wayne Davison. It has been improved by many developers from 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 the Free Software Foundation.