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

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

CMP homejump to top

available on the web at:

http://mindprod.com/jgloss/rsync.html
  

optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\jgloss\rsync.html
logo
Please email your , letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email. If you want your message, your name or email kept confidential, not considered for public posting, please explicitly specify that. Unless you state otherwise, I will treat your message as a letter to the editor that I may or may not publish in the feedback section. After that, it will be too late to retract it. If you disagree with something I said, especially when sending an ad-hominem attack, a rant composed mainly of obscenities or a death threat, please quote the offending passage and cite the web page where you found it, tell me why you think it is wrong, and, if possible, provide some supporting evidence. I can’t very well fix erroneous or ambiguous text if I can’t find it.
Blog
IP:[65.110.21.43]
Your face IP:[184.73.7.143]
You are visitor number 16,001.