My Backup Solution

This is my backup solution and process.

My Laptop

I have 2 external hard drives: External Backup A and External Backup B. One is at home and one is at my parents’ house.

Every Monday, I plug my local External Backup drive into my laptop and clone the laptop’s data to it. I use Carbon Copy Cloner on the Mac; you could use rsync on Linux or DriveImageXML on Windows.

Most weeks, this takes less than half an hour.

Whenever I visit my parents–which is every week or two–I bring my local External Backup drive, and swap it out for the one at their house.

The Data Core: Dealing with a Large Drive

'Engineering plans storage, 2001' by seattlemunicipalarchives on Flickr

‘Engineering plans storage, 2001’ by seattlemunicipalarchives on Flickr

I have more data than just what’s on my laptop, though. I have movies, anime fansubs, backups of my YouTube videos, and backups of old data. That’s why I set up a 12 TB RAID 5 array connected to a Raspberry Pi running ArkOS.

The RAID 5 array ensures that if any one drive in the array dies, not only does it continue to work, all the data on that drive is still available. I can even replace the drive while it’s running. Plus, it’s not 1-for-1 mirroring, so every drive I add gives me the full capacity of that drive.

Explaining that set-up is a bit outside the scope of this article, but suffice to say: I have a bunch of data on a separate drive.

So I have another set of external drives, which also live at my parents. Every 6 months, I bring those back with me, and run a set of scripts to backup that data, putting all my photos on one drive, all my YouTube data on another, etc.

These are Linux shell scripts; if you’re on Windows, you could download Cygwin and run them in a Cygwin shell. They’re of the following form:

rsync -ruv —ignore-existing –exclude=”.*” /Volumes/matrix/Photos/* /Volumes/Photo

The -r option is recursive (copy folders within folders within folders), the -u option skips files that are newer on the target drive, the -v option displays each file it’s copying, the —ignore-existing option skips files that already exist on the target drive, and the –exclude option skips any hidden files on the source drive.

If you want to do a dry run, which lists every file it plans to copy and a summary of the disk space required but doesn’t actually copy any data, use “-runv” instead of “-ruv”.

Those drives then go back to my parents’ house.

Leave a Reply

I work for Amazon. The content on this site is my own and doesn’t necessarily represent Amazon’s position.