Linux Home Office Tips



Here are some things i've learned while using Linux for my software consulting business.  Perhaps others will find this useful.

Updated: 2005-05-16, Ted Merrill.

Backups


The importance of making backup copies of important data, particularly client data, cannot be overestimated... it can also be a big pain and time killer.  I use three levels of backup.

My first level of backup is to nightly make a copy of my hard disk (hda) to my secondary hard disk (hdb) using a script disksync that I wrote (using that wonderfull tool, rsync).  The idea is that, should my primary disk suddenly fail, i can simply swap disks on the IDE cable (the disks i left at their factory default, to be cable selected) and boot up again as if nothing had happened... except perhaps i've lost a days work, received email, etc.  Using rsync, the backup goes remarkably fast most of the time.  [Incidentally, i've had bad luck with Maxtor disks (i've had two of them go bad within a year in 2004 and 2005).  A sysadmin who i respect told me that Seagate drives are more reliable, so i now have two of them.]  The disksync scheme doesn't require that the two disks be identically, and can easily be modified to

The problem with the backup disk scheme is that i might accidently delete something from my primary drive, not notice it, and then propogate the problem to the second drive when i do my nightly sync (i also sometimes sync more often if i've done something especially important)... and of course, both disks might die.  So my second level of backup is to weekly make copies of entire directory hierarchies to CD-R (write once) disks.  The main problem here is that there is no way that all my stuff on disk is going to fit onto one CD, or even on to one DVD (i'll probably switch to DVD-R soon).  So it takes time to keep my backup scripts up to date, and to swap disks in and out of the drive. I should add that i like keeping my backups as simple and transparent as possible, so i avoid incremental backup, file compression and the like (which i think reduce the reliability of the system).

Finally, i try to make sure that the client gets updates of their data on a regular basis, so their data becomes their problem...