What To Back Up?
Michael L Torrie
torriem at gmail.com
Thu May 22 00:31:57 MDT 2008
Kimball Larsen wrote:
> I have heard (and shared) differing opinions about what bits of a
> linux box really should be backed up in order to resurrect a system
> after something like catastrophic hard drive failure.
> I am curious what the consensus is here.
It all depends on your specific needs. At work I have many servers
that each server specific functions. Thus I rarely back up full servers
to our off-site backup.
To help out, each server's special configuration is stored in
subversion. For a mail server, I subversion all the configuration files
that make it run like:
global procmail settings
file server mounts (autofs config)
maintenance scripts in /usr/local/bin
As I install the server I commit to subversion an non-trivial
configuration I make. I typically don't worry about things like ldap
and kerberos client config, since that's always the same on each
machine. I check out the config files in place in the file system.
Basically the svn tree mirrors the real file system. On some machines I
subversion things in /etc, /usr/libexec (custom scripts),
/usr/local/libexec, /usr/local/bin, /var/stuff, etc. This has saved our
bacon on numerous occasions when we destroyed a config file during
editing, or completely hosed a DNS zone with a few misplaced keystrokes
in vim (followed by :wq ;).
My nightly backup to removable disk that goes off-site is never a full
backup either. The same stuff that's in svn plus the actual data.
However, I do do a full (rsync -ravH) backup of each of my virtual
servers to another Xen host. I write some fancy scripts to do a full
hot backup, one file at a time. This will get us back up and running in
very short order.
Non virtual servers have their entire hard drive rsync'ed to a second
internal drive. A failure in the primary drive would take me as long as
it takes to swap the drives and fix grub to get running again. No 5
nine's around here, but maybe 3.
Even without the full, everything backups, I can rebuild any one server
in about an hour, provided it's the same exact OS, with the subversion
stuff mainly, then restore the data from backup disk.
Keeping a list of installed packages that are important to a server's
function is also highly recommended. I am not good at this and usually
rediscover the dependencies as I'm building the new server.
On my home machine I backup the entire drive (full, using rsync) to a
spare internal disk every so often. I'm not a RAID-1 believer--most
people seem to use it to solve the wrong problems. I also periodically
do a full backup to a usb disk, which I then actually use in vmware when
I'm at my folks house and need to do something with a real OS. When
upgrading the OS, I always make a spare copy of /etc, /opt, /usr/local/,
and /var for good measure. Although last time I did a reinstall, I
forgot that I had a nice cross compiler in /usr/i386-mingw32 so I lost
that. I'll rebuild it to /opt next time, as God means me to do.
More information about the PLUG