How can I keep a folder synchronized to an external USB hard drive?

Well, rsync is a great command-line tool for this.

You mentioned that you wanted a GUI, so I recommend Gadmintools which contains gadmin-rsync.


Update: Try giving Unison-GTK a try.


I know it's an old question, but, as it might be an answer for someone, I wanted to say I'm giving FreeFileSync a try, an opensource application bundled with another utility, named RealTimeSync. This last one triggers a command (presumably, FreeFileSync, but I believe you can actually execute any command line) whenever the contents of a folder is changed (or when that folder becomes available). I will update outcomes, but, at first glance, looks promising (despite the scarce and windows-oriented documentation).

Update: seems to work well. I set RealTimeSync to watch for availability and/or changes of two folders (source and destination) and run a Sync job when that happened, and all went well. Deletions propagated, too, with a (I think) nice feature: deleted files (those deleted by FreeFileSync as a result of the syncing) go to a folder inside trash (or inside a folder of your choice), named with FFS+time-date stamp.

Still have to test it under hard conditions (large syncing jobs, over a large amount of files) to check speed of file comparison. Will do tomorrow.


I think the best software for this situation would be DirSyncPro (V1.4). You can check their website here. This software is written using java, hence it does not have to be installed and is very portable. It has several features like backup, synchronizing files, mirroring drives and is a freeware solution.

It is under active development and you can guarantee to get new features frequently.The software is mature, stable and an ideal backup software. Give it a try without any hassle of installation.

I have attached a screenshot of the software below.

enter image description here

It works both bidirectional and mono-directional making it an ideal backup software. You can also schedule backups, create exception and save the job preferences thereby not having to create one every time you want to backup something.

I am just a user of this software, very impressed by its reliability and features that it possesses.