*BSD News Article 50270


Return to BSD News archive

Newsgroups: comp.unix.bsd.misc
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!uwm.edu!cs.utexas.edu!howland.reston.ans.net!tank.news.pipex.net!pipex!in2.uu.net!spcuna!ritz!bet
From: bet@ritz.mordor.com (Bennett Todd)
Subject: Re: backup system design on Solaris 1.1
References: <425eom$iib@kryten.awinc.com>
Organization: Mordor International BBS - Jersey City, NJ
Date: Tue, 5 Sep 1995 15:28:47 GMT
Message-ID: <DEFuzz.1B0@ritz.mordor.com>
Lines: 35

A good backup design oughta be fairly OS independant --- unless you are
unlucky enough to have gotten yourself locked into one single vendor, you will
see more and more different boxes from different vendors over time.

My personal favourite is an approach I came up with several jobs ago, and have
re-implemented everywhere I've gone. The basic idea is to run backups from a
central machine which has the tape drive, using rsh(1). Backups are run every
night. Every night every filesystem is backed up. The full dumps are spread
out, so only a few filesystems receive level 0 dumps any given night; the rest
receive incrementals, cycling in the "modified Towers of Hanoi" described in
the dump(8) man page (4.3BSD; Sun omitted this in their version).

First, I created a master table. This table contains one record per
filesystem; the fields are hostname, mountpoint, partition-name, size in
megs, and dump command. The dump command includes a string LEVEL which can
be substituted with a numeric dump level for incrementals. For machines that
don't have dump(8) I wrote a simple find+cpio script, using timestamp files,
that gave similar functionality.

Then I wrote a program that reads that table, and computes what levels to dump
each filesystem at for the current tape, using the Towers-of-Hanoi algorithm.

This approach makes it pretty easy to maintain; when filesystems change,
just update the master table, and backups will accomodate themselves.

Using this strategy I have no trouble keeping 20-30GB backed up using a 2GB
tape drive, at one tape per night. I do 10-tape rotation cycles, so every
filesystem gets a full backup every two weeks. This approach makes some
tradeoffs. It's very, very easy (and cheap) to run the backups, and it's
easy to restore individual files. It's considerably more effort to do a full
restore from a trashed filesystem --- but that operation is in my experience
very very rare, so I like this tradeoff.

-Bennett
bet@mordor.com