rsync resources

Please let us know if you have any rsync-related documents to add to this list:
  • Be sure to search for the latest rsync info to get up-to-the-minute results. You can use the search box at the top of the page for either web searching or project searching (they are done via Google).
  • 2002-05-15: rsync is not official GNU software, but we try to work more or less in accordance with their Guidelines for Maintaining GNU Software.
  • 2002-04-10: A new tutorial on using rsync to create a system of rotating backups, by Mike Rubel.
  • If you still don't know what rsync is, then take a look at the README.
  • There is now a python script that implements an atomic update of the received files at the end of the transfer (when pulling).
  • Brian Elliott Finley has put together a great Linux install system based on rsync. You you read about it at
  • Dirvish is a fast, disk based, rotating network backup system that was originally written by JW Schultz.
  • BackupPC: a backup system using rsync. Hard-links all identical files (even between multiple runs and multiple backup sources), compresses the files, provides an easy interface to find and restore files, etc.
  • Bung: (BackUp Next Generation) backs up files, MariaDB, OpenLDAP, postgres, etc. via an extensible templates system with git support. The rsync-based "rolling full" backup is easy to browse and restore from using everyday tools.
  • drsync: a wrapper for rsync that remembers file sets between invocations so that a 2-way synchronization of two systems is possible.
  • rsyncbackup: a helper script that uses config files to setup multiple backup scenarios and invokes rsync (or rsyncX on macOS).
  • Users who use the new character-set conversion option of rsync (--iconv) may want to check into the convmv package that lets you convert the names of already-transferred files into a new characterset (for when you want to change or normalize the characterset of a hierarchy of files).
  • For those wanting to use launchd to run an rsync daemon (e.g. Mac OS X Tiger users), Glen Scott provides the necessary rsync.plist file.
  • For the developer wanting to work on a branched rsync version based on one of the diffs in the patches dir, you may want to check into Matt's patchsync script.
  • A nice tutorial on setting up ssh to avoid password prompts.
  • Karsten Thygesen has written a doc on how to setup anonymous rsync servers.
  • Anthony Wesley has written a doc on how to build rsync for Windows95.
  • Mike McHenry has written up some info on how to get rsync working under NT.
  • Michael Holve has written a very useful rsync tutorial.
  • Daniel Teklu has a detailed HOWTO on rsync and stunnel.
  • There are a few choices for making rsync work with OS X's resource forks. One is the official apple patch found on their opendarwin site, such as this one (I've heard patch inefficiently transfers the entire resource fork information for every file on every transfer.) Another choice is to use a third-party adapted rsync, such as rsyncx or a rsync+hfsmode patch by D Andrew Reynhout. For the future, I would like to see an rsync that supports ACLs and Posix xattrs adapted to interact with resource forks in a seamless way (if that's possible).
  • Piero Orsoni wrote a GTK-based GUI for rsync called grsync.
  • Those interested in using an rsync daemon over SSL may be interested in this wiki page that outlines a way to use a modern, simplified stunnel setup.
  • Thomas Roessler has written an rsync wrapper for efficient, safe CVS mirroring.
  • Rsync is distributed with the rrsync python script that lets you restrict the rsync commands that can be run via ssh. (This is a enhanced and reworked version of Joe Smith's original perl version.)
  • Lee Eakin has written a perl wrapper for rsync.
  • A wire-compatible rsync implementation in perl.
  • A REXX implementation of rsync.
  • An initial version of a rewrite of rsync for .Net.
  • You might want to check out an encryption program that is being developed to produce more rsync-friendly output: rsyncrypto.
  • If you need a 2-way synchronization because both ends of the transfer may be changing files, you may want to either look into a tool designed to do this (e.g. unison), or you may wish to use an external wrapper for rsync that keeps extra data about what was in the last transfer so that it can figure out if a file is new or deleted (e.g. drsync).