rsync is better than sex! Well, almost.

I just wanted to extol the virtues of rsync. This little application has saved my ass (or kept it from hurting) more than any other UNIX utility ever has.

rsync is simple. It lets you copy a tree of files from one place to another. It does so by only copying what is different between the two locations, though, so it can be remarkably efficient.

Moving three terabytes of data from one machine to another? Don't use cp, or a tar through a pipe. If either of these are interrupted you have to start all over! Just use rsync. If it fails? Shrug, roll your eyes and restart the process. It'll resume near where it left off and finish in no time.

Have to move a user home directory from one machine to another? Use rsync. When it's done, use rsync again to copy anything that has changed. Once nothing has changed, rename the old location and create a symlink in its place. Window of opportunity for error reduced to almost nil.

Backing up your server at home to offsite? Just rsync it. It'll only copy what has changed, even within individual files. That 400MB log file that has 20K appended to it doesn't have to be resent in its entirety; rsync will compare the first 400MB on both ends, sending checksums to make sure they're identical, then send the 20K at the end. Your 512kbps DSL connection will sigh in relief.

This utility is awesome. If you are a UNIX user, familiarize yourself with it. And all of you Mac OS X users have it too; it comes with every release since Panther. Just be sure to use the -E option when rsyncing between Macs; that tells it to preserve HFSplus extended attributes.

Have fun!