Windows – Rsync-like automatic delta backup of a removable hard drive on windows

backupexternal hard driversyncsyncwindows 8

Well a lot of questions have been asked on the SE network about using rsync on Windows. But nothing seems to really do the trick so I'd like to expose the specific mechanism I need to setup.

Lets say I've got a USB hard drive that contains my whole life (well I don't, I've got a RAID and a NAS but we're not really talking about me).

I use that HD all the time, adding, editing, deleting files on/from it.

On the other hand, I've got a second hard drive (same capacity) that's plugged in to my PC (Windows 8.1). That second HD is a clone of the first that I made with rsync from my Ubuntu Live DVD.

Well obviously it was in sync once, and now it's not anymore.

You see where I'm going… I want to sync the first (removable) HD onto the second HD every time I plug it to my PC.

And of course I want an algorithm that resembles rsync in its logic : file comparison, optional orphans deletion, etc…

I guess I can fix something up to trigger the start of a homemade program asking me whether I wan't to start a backup whenever I plug the first disk in (eg UUID detection).

The problem is the syncing part. I don't need a client/server solution. Just a tool that will make a file-based sync between two local disks.

I stumbled upon many pieces of software that look… unstable at best.
They all use the Cygwin port of the rsync lib, which seems buggy, or have re-implemented the whole rsync algorithm for windows.

I don't really know what they're worth but I have a bad feeling about this.

What I want to achieve is pretty damn simple (right?) or at least it's a very common need. I can't believe the routine has yet to be made up. This is crazy.

I know nothing about Windows development. I'm a webdev and I know about Unix/Linux sysadmin. I'm willing to spend time on this but not alone. I need directions before I start messing around.

I thought about software RAID btw…? Well I even thought I'd use git for a sec so…

Best Answer

I'm (likely) the author of the question you cite in your opening. After year I still haven't found a true solution for this and so I still rely on Cygwin and some batch magic.

The closest I came with a native solution is with Allway Sync:

  • it has automatic sync (one and even two-way) and UUID binding.
  • It falls short of rsync in just one way: it doesn't do deltas, so if you change one single bit at the end of a 200 GB SQL dump, it will just copy over the whole file. It is not a huge issue for local syncs such as yours, but it's a pain over the network.
Related Question