Inevitably, something will go wrong: A plan for backup

A while ago, I wrote a piece about the need to backup your home computers.  After tweaking the full-backup script on my desktop today, I thought it would be useful to update the information. 

Before we get into it, I hear you say, “But Steve, I’m not technical.  I don’t understand about scripts and I have a PC.”  For you, I recommend either Mozy or Carbonite.  Both are “set it and forget it” systems that, for about $55 a year, will backup your computer into the cloud and keep that backup current whenever it is connected to the internet. Installation is trivial and both have excellent technical support.

I’m backing up 4 computers with four backup methods:

  • Fedora Linux Desktop
    • backup of my home folder to a Linux server
    • backup of entire file system to external USB drive
  • Apple MacBookPro
    • backup of entire file system to external USB drive using Time Machine
  • Sony Vaio notebook (MS Vista)
    • image backup of hard drive to external USB drive
  • Fedora Linux Server
    • backup of entire file system to external USB Drive

The Sony Vaio image backup uses CloneZilla.  CloneZilla is a free product that works like Symantec Ghost or other commercial image backup programs. I boot the computer from the CloneZilla CD, plug in the external USB drive, and create an image of the hard drive.  I use image backup because I’m protecting this system from a failing hard drive. The most likely restore scenario is a “bare metal restore”, not a file restore.

The Linux systems use a simple rsync script for full file system backups. It’s attached below. The main file, “do-backup”, does the backup.  The companion file, “do-backup-excludes”, excludes certain virtual parts of the file system from the backup. Restores are easy because the file system is duplicated (through 5 iterations) on the backup media.  Files can be restored by a simple copy or by using rsync.

I backup my desktop home directory to the server using a script based on rdiff-backup.  Unlike my do-backup script, rdiff-backup uses a combination of rsync and diff files to produce a backup with multiple increments. Restores from increments other than the most recent backup must use the restore functions of rdiff.

The Apple MacBookPro uses Time Machine for backup and like most things Apple, it just works.