Updated: November 18, 2009
rsync is one of the most powerful data synchronization tools for UNIX-like operating systems. It's been around forever, it's robust like diamond and it has so many options that you can practically configure your mother-in-law with it.
When someone starts off an article with such high praise, the question begs, how do you up the ante? Is there anything better than rsync? The answer is yes: rsync with a GUI. rsync with a GUI is called Grsync. It's the perfect choice for your desktop backup utility. Let's take a closer look, shall we.
Getting started with Grsync
You will find Grsync in the repositories of most Linux distributions, so installing it is a breeze. Once you install it, fire up the utility.
What do we have here?
Sessions defines Grsync profiles. You can add as many as you want or delete old ones. Each session will define a different subset of rules, different options, a different source, and a different destination. This adds quite a bit of flexibility.
Source and Destination are just what you'd expect. In my case, the destination is an NTFS-formatted USB hard disk. Grsync will have no problem backing up to it, as you will soon discover.
Like I mentioned earlier, Grsync has a lot of options. It can do practically anything you want. In my case, for example, I've set Grsync to delete files at the destination that no longer exist in the source, overwrite files even if they exist or are newer, show transfer progress, and several other options.
Under Advanced options, you can set even more features:
The free-text Additional options: field is particularly useful. It allows you to specify extra options not listed in the GUI. Let's take a look at my choice here:
--max-size=200M --exclude "Virtualization/"
I've decided to limit the file size to 200MB; in other words, anything larger than 200MB will not be backed up. Similarly, I've decided not to backup my virtual machines, which are located in the Virtualization sub-directory. What more, I've also chosen to compress file data, to conserve bandwidth. Looks dandy, doesn't it?
The best thing about the whole deal is that rsync (and thus Grsync) lets you run a simulation of your backup procedure. It will show you exactly what it would have done, without actually doing it. This is a great way of testing your session and tweaking the backup parameters, like the max. size and excluded directories, without wasting time on real transfer or even potentially destroying existing data. Only when you're completely confident in your setup do you click the Execute button.
In the Rsync output window, you can also see the actual rsync command that is going to be run, so you can use it in scheduled scripts if you want. What more, you see the list of files that are going to be backed up.
Grsync is smart and will not backup files that need not be copied. It's also lightning fast. You need to try it to get the feel of how nimble it really is. And when you're ready, run for real ... No problem working with NTFS, either!
A good backup is nothing without a verified, working restore. Grsync makes it dead simple to test your backups. Just click on the double arrow button near the Source and Destination fields and the two will be switched between them. Bang! You can now test your restore quickly and easily, without setting a ton of options all over.
Of course, you should test the restore function with a test source and a test destination, not your actual data. Once you're confident your setup works as expected, you will have an instant backup & restore solution.
Grsync is really a great application. It's simple, fast, robust, exactly what you want from a backup utility. It's an excellent way to make sure your important data is backed up, whether to another internal location or external destinations, like USB hard disks or Windows shares. Grsync can also work with SSH, making the data transfers encrypted and secure. And it makes data restore as easy as blinking. It's simply great.
You may also want to take a look at Unison, another home backup program I've reviewed some time ago, but frankly, I must admit that Grsync wins. If you're a Linux user and care about your data, you should start backing your stuff now. Grsync is just the tool you need.