- I have an external hard drive (same size or bigger than the drive in my live-system)
- Once a week or once a month, I plug that drive in to my computer and run a backup-command or click on a button in my backup-program
- The backup is incremental, meaning the very first time it runs it will take a long time and every subsequent time it will only copy the data which changed
- Once the backup is complete, the external drive goes back into its drawer/shelf
- If the drive in my live-system dies, I replace it as soon as possible and will be able to retrieve my data from the external drive.
- I don't really care whether the external drive is bootable or not. If it is, that's nice, but it doesn't have to.
Back when I had a Mac, I used this method to run backups. It worked like a charm and if I still had a Mac, I'd probably still do it that way.
I currently use Windows 7 and Linux (and may add a Mac again at some point), so I was looking for *one* program that could accomplish what I need, regardless of the OS. At first I thought I'd use a cloud-service like Crashplan, BackBlaze or SpiderOak, or possibly OwnCloud. But I decided to keep it "in house" and simple, so I looked into some command-line tools, since the command-line seemed like the lowest common denominator between all OSes. Linux and OSX are both Unix-based and Cygwin is an acceptable solution for me when using Windows, so that gives me the option of using some open source tools like rsync, for instance.
I ended up deciding to go with rdiff-backup. Here's how to use it:
rdiff-backup source destinationIt's that simple and it does exactly what it looks like.
One can add an "exclude" parameter and more options, if needed.
I format my external backup-drive as NTFS. I find NTFS the best cross-platform solution, since it's readable and writable by Windows, Linux and OSX (some tweaking is needed under OSX, but it's easy).
Here are some tutorials / documentation that helped me run rdiff-backup: