rsync : Java Glossary


Rsync logo  rsync

rsync is a file transfer program for Unix systems. 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. Rsync is usually teamed with SSH (Secure Shell) for privacy. Without rsync, with ordinary FTP (File Transfer Protocol), your passwords are sent in plain text, easy pickings for snoops. Normally you have a full time rsync server on TCP (Transmission Control Protocol) port 873, with clients coming in via SSH Rsync client software, though it is possible to run the server, as needed, via a remote SSH login.

FTP is utterly incompetent when it comes to preserving timestamps. It gets confused by time zones and DST (Daylight Saving Time). It was designed before the global Internet. Rsync fixes these problems.

rsync is clever. If the source and target files are similar but not identical it arranges to send just the differences. Further, it compresses the transmissions.

The problems with rsync are primarily political.

  1. You need permission to install and run rsync on some server.
  2. You need permission to tunnel through the client and server firewalls to get to the rsync server.

It uses XCOPY-like (Unix rcp-like) commands to copy groups of files from one machine to another, but much more efficiently than a classic copy. Security is handled by a combination of SSH encrypted communications, passwords, IP (Internet Protocol) lists permitted access, domain lists permitted access and userids permitted access.

To use rsync, you run a bash script on your desktop. The bash script, among other things invokes the rsync utility to efficiently copy files from your desktop machine to the server. You can also get rsync to run shell commands on the server to select files.

I wrote The Replicator, an rsync replacement, which uses just ordinary FTP and HTTP (Hypertext Transfer Protocol) to get around those two problems. You don’t need anything but vanilla generic FTP/FTPS and HTTP software running on the server. It is not as clever as rsync, but it fills the same niche.

Outstanding Questions

Apspera Fast rSync
CaRsync: caching variant of rsync
Cwrsync: rsync for Windows/Cygwin
Delta File Creator Student Project
DeltaCopy: GUIGUI wrapper for rsync to make it work on Windows
rsync under the hood
smart FTP upload
The Replicator
Wikipedia on rsync

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number