Tag Archives: source control system

Backup

One of the weirdest stories last month, was the one about JournalSpace losing its data and then just plain calling its quits because the inability to recover that lost data. There’s an endless discussion going on at Slashdot and at MetaFilter1. The moral of the story is to properly backup your SQL data: most databases come with excellent tools to dump your data to text, binary or whatever format your prefer. And while you backup, always ensure that a database dump goes off-location, in case a fire breaks out in your server room.

I’ve mentioned this before but I generally keep sources all together, organized by programming language and highly tagged by date and such. Every 6 months, I make a quick inventory and make the proper backups if needed. I never use my source control/revision as a backup means: that’s not the point of a revision control system2. In the years of moving sources off computers and loading them back on new ones, I’ve lost a couple of sources. From all the sources I lost, I regret losing the PHP-based Scr*bble/WordPlay server. Well, actually, I have a bare snapshot of the sources but they are incomplete and I can’t do anything with it. To make it worst, back in 2001 or 2002, I forgot to export and dump the data definition and data. Where things went wrong was that the specific sources and data were stored on completely different locations (I developed on both Caldera OpenLinux and Windows 2000). What happened in my case was that I thought that all the sources were on OpenLinux but that the actual ones were stored on the Windows 2000 computer. I recognized this, of course, after I had formatted the Windows 2000 computer3.

We humans are extremely good in storing stuff in our brains, but we tend to only remember those crucial things after disaster has struck.

1 JournalSpace’s official report is right here. 01/18/09: JournalSpace’s official report is gone. It looks like the domainname was sold to a third party.

2 A source control system is only for saving your sorry ass when you made an error in one of your versions of your software so that you can revert your stupid sorry ass-changes and start over again. Sure you can use it as a backup means (CVS historical data can be moved to different computers easily, for example) but if you thought it to be there for disaster-recovery reasons, you’re mistaking.

3 Sidenote: this was on the MyNote 930. That computer had a full history of whereabouts too, and was eventually passed on to the local recycling plant.