My Home Backup System

My hard drive is failing, and I’m about to replace it. That means it’s time to check the backups, to make sure they are functional. This short article describes my home backup system. You might find this useful for setting up your own backups.

The backup system performs backup for three separate computer systems. One is the desktop PC I use for all my work, another is for this website and a few others, and the third is the server which hosts several websites. All my backups are done with command line archiving software like TAR and ZIP, and copied with the RSYNC tool. They are stored on hard disks. They total less than 1 terabyte of data, so, life isn’t that bad.

The two remote systems run scripts, via cron, that dump the local MySQL databases to compressed archives. These are copied down to my desktop PC via simple backup scripts that run Rsync to download the data.

My desktop computer has two disks. One is a fast SSD for most of the OS and apps and data, and the other is a slow “green” disk for large file archives like photo and video archives. Both of these disks are backed up to an external USB hard disk, using the Rsync command. I don’t copy everything, and it’s folder-by-folder.

I also run an incremental backup using rdiff for a few folders like my photos and videos. Rdiff basically keeps deleted files around, so it’s a big space waster. I started using Rdiff because I lost some photos, seemingly spontaneously; the rsync propagated this loss to the other backups. Rdiff is something like my failsafe. This rdiff backup is also copied to the external hard disk.

Additionally, the remote backups that were performed are also copied to this external hard disk.

At this point, there are three copies of the data on the remote servers. There are two copies of data on my desktop computer.

There’s a third backup in the other room. This is a Raspberry Pi microcontroller and a USB hard disk. The contents of the external backup are copied to the remote, via Rsync. Surprisingly, this operation clogs the network and slows my computer more than the others.

The remote RPi backup also runs a cron job to back up the remote servers. So, that produces a fourth copy of the server data.

The one thing missing, at this time, is a remote backup. I used to keep a hard disk at my mother’s, but haven’t done that for a couple years. I will start that up again next year. I used to also keep two Linux computers, but right now, I have only one. The current “other computer” is a noisy server. I also have a small server that’s too slow to use for work, a Windows laptop, and a Mac Mini.

In summary:

  • Websites are backed three times.
  • Desktop data is backed up in two places.
  • Some desktop data is backed up incrementally.

Leave a Reply