Cross-platform backup options

Hey All,

I've been trying to use Linux as my main OS as much as possible. Since I also have Windows 10 and OS X installed on the same rig, this presents some unique challenges in maintaining backups etc.

Previously I used an OS X program called Carbon Copy Cloner to take bootable images of my mac partition, and a program called Winclone to take bootable images of my Windows partition. CCC was especially cool because it would actually take fully bootable images of the Mac operating system while it was running. I'm looking to find a way to replicate this workflow within Ubuntu. My goals (if they are even possible) are as follows:

  1. Create whole-disk, bootable images of my Windows, Linux, and OS X partitions from Ubuntu (I already have methods of reading the file systems for each so that part is taken care of)
  2. Copy individual files from each partition to an internal drive, ideally within the same software interface.

If there is some linux software that can do this I have no problem paying for it.

Is this even possible??

dd could properly handle it.

1 Like

Sounds somewhat terrifying.... but you are likely right. Other than the ability to take an image of the OS partition while booted into it. Not sure how the OS X is able to pull that one off.

http://backuppc.sourceforge.net/

Think that is what you are looking for, haven't used it myself but friend has suggested it to me (just havent had time to check it out yet).

It's a pretty useless feature in linux to take full disk copies because as everything in linux is a file, a system is entirely interchangeable, meaning you could take your /home folder to another system and it'll just work there just the same, including userspace apps.

So full snapshots including all data are a pretty big waste of resources in linux.

But nonetheless, you can cron a backup operation. If you perform that as root or system, a recursive root backup will include the entire system. As in linux everything is a file, a recover from such a backup will also just work.

There are other options though.

Linux has much more advanced file systems than commercial software consoles. Two of those are particularly interesting, because they are fully hashing journalling filesystems: btrfs and zfs. Btrfs has much lower system overhead than zfs, but can't or shan't be used in complex raid configurations. Btrfs and zfs will both offer full data correction (no more data rot, so smaller chance of ever needing a backup), and snapshot capabilities. The most used snapshot application is snapper. Snapper with a standard root profile will take a full system snapshot. It will be incredibly fast and small because it uses the functionality of btrfs and zfs to do so. Snapper with a home profile will just take a snapshot of userspace. Userspace includes all user mounts.

Spend a couple of minutes reading up on snapshotting and modern linux filesystems and how everything in linux is a file, and you'll understand how easy it is to backup data in linux systems and to snapshot installs/configs. Then you'll see that the archaic storage-expensive solutions necessary in commercial software consoles simply do not apply in linux.

Oh, and NEVER EVER trust something on Sourcefourge, unless you know EXACTLY who put it there and what happened with it!

I am familiar with zfs / btrfs and agree they are a superior technology. Since this is my primary OS disk though, I will probably be sticking with ext4. I'm also sticking with ubuntu for the time being and I haven't researched compatibility with btrfs. I appreciate the insight though.

I had not considered what you're saying about everything being a file in linux.... that does indeed make things much much easier. I had considered an image based backup to be even more essential in linux because I have so much hard-won customization in it already, but you're correct - all that stuff resides in my home folder.

At this point I'm almost thinking of just sticking with Mac OS X for backups since I have some workable solutions there and can easily copy the home directory while booted into that OS.

Thanks for the insights, it's very appreciated.

What about rsync? It uses a delta-algorithm to check chunks of your files, and only copies chunks of those files if they are changed. It uses file timestamps and size by default for validation, though you can also use MD5-Hashes (Meaning if the timestamp an file size match, rsync will ignore the file, as they are likely identical). There isn't really any backup tool as powerful as rsync.

Here is a wiki page on archlinux for a full system backup with rsync:

Rsync is compatible with Linux/OS X and Windows, you'd just have to write some scripts for the bootable parts.