Sunday, October 03, 2004

It's 10 o'clock. Do you know where your data is?

When is the last time your hard drive crashed? Terrible, wasn't it? And how much did you have backed up? Well, it happened to me a while back. And I had practically none of it backed up. I've become fanatical since then. Here's how I do it.

My general methodology is to create sets of data that'll fit on CD-Rs. To keep the data organized, I group the data into zip files. I even zip uncompressible data such as jpegs and zip files. (To keep from wasting time, I specify no compression for these files.) This has the accidental benefit of not marking the individual files as read-only when you finalize the CD-R.

You'll remember that I'm old. I've created a couple of .bat files to run PKZIP. When I first set this up, I was specifying include and exclude parameters and had trouble with command buffer limits. I found an arcane version of PKZIP called "PKZIP(R) Command Line Version 4.0." The file name is pkzc400s.exe and you can find it at http://www.cmdtools.com/. The command line options are different than the old PKZIP but I've pretty well forgotten those so it's not a big deal. This version also supports long file names so things look pretty when you restore.

I still use Outlook Express. To find where those files are located, open Outlook Express. Go to File/Import/Messages. Highlight your version of Outlook Express and click Next. Then click on Main Identity and click on Ok. There's where your files are. Copy this and paste into Windows Explorer's Address and press Enter. That'll show you the names of the folder files. The address book is easier to find. See my .bat files below.

After the zip files have been created, the .bat file runs an attrib command to reset all the archive bits. Then the .bat file copies in winzip.exe so the set of files is basically self-defining.

As I said earlier, I started off creating sets that would fit on CD-Rs. After I bought a DVD burner and blank DVD+Rs dropped below $.50, I've gone to DVD+Rs. Takes all the worry out of creating sets of files. Now I just create 2 sets, one with my pictures and the other with everything else. Each set fits on a DVD+R.

To make the whole process run faster, I write the zip files to my hard drive and then copy them to the DVD+Rs. Then I leave the zip files on the hard drive until next month so I have a ready backup in case I delete something I didn't mean to.

When I've finished copying the zip files to the DVD+Rs, I take these disks to another PC and have WinZip verify the archives.

When I described this process to some guys at work, they pointed out the risk of a scratch on the media rendering a large zip file unreadable. I hadn't thought of this. I went back and implemented PKZIP spanning to break the files into 20.8 MB chunks. There’s nothing magic about this size, just one of PKZIP's default values. Then to allow me to recreate the set should one or more not be readable, I create a set of PAR(ity) files using QuickPar from http://www.quickpar.org.uk/. As I currently have plenty of space left on each DVD+R, I just set the size of the PAR files so that the creation takes about an hour. How arbitrary is that?

I've looked at doing incremental backups but it doesn't seem worth the effort. Periodically, I'd still have to take a baseline and then I'd have to keep up with the incrementals. Since I do this on the first of each month, it only costs me $1 per month so I wouldn't save anything. I keep the latest set of backups at work just in case.

Here's what the files look like:

dvd1.bat

: ACDSee32
: Address Book
: download
: Outlook Express
: Start Menu All Users
: Start Menu Ben Moore
: The HTML Reference Library
: uft
: My Documents (except My Pictures and My Videos)
: Games
: Juno
: QuickenB
: Backup System State
pause Have you backed up the system state and closed OutlookExpress?
:
cd c:\program files\pkware\pkzipc
:
set cdr=c:\backup\dvd1:set cdr=e::
: ACDSee32
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%ACDSee32.zip" "C:\Program Files\ACDSee32\*.*"
: Address Book
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%Address Book.zip" "C:\Documents and Settings\Ben Moore\Application Data\Microsoft\Address Book\Ben Moore.wab"
: download
pkzipc -add -rec -dir=root -lev=0 -attr=all -span=20.8 -excl="C:\download\archive\*.*" "%cdr%Download.zip" "C:\download\*.*"
: Outlook Express
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%Outlook Express.zip" "C:\Documents and Settings\Ben Moore\Local Settings\Application Data\Identities\{4B7CEB2F-1892-443B-B4A8-DA8CDD99A31E}\Microsoft\Outlook Express\*.*"
: Start Menu All Users
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%Start Menu All Users.zip" "C:\Documents and Settings\All Users\Start Menu\*.*"
: Start Menu Ben Moore
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%Start Menu Ben Moore.zip" "C:\Documents and Settings\Ben Moore\Start Menu\*.*"
: The HTML Reference Library
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%The HTML Reference Library.zip" "C:\The HTML Reference Library\*.*"
: uft
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%Uft.zip" "C:\uft\*.*"
: My Documents (except My Pictures and My Videos)
pkzipc -add -rec -dir=root -lev=5 -attr=all -excl="C:\Documents and Settings\Ben Moore\My Documents\My Pictures\*.*" -excl="C:\Documents and Settings\Ben Moore\My Documents\My Videos\*.*" -excl="C:\Documents and Settings\Ben Moore\My Documents\Ulead DVD MovieFactory\*.*" -excl="C:\Documents and Settings\Ben Moore\My Documents\Pinnacle Studio\*.*" -span=20.8 "%cdr%My Documents.zip" "C:\Documents and Settings\Ben Moore\My Documents\*.*"
: Games
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%Games.zip" "C:\games\*.*"
: Juno
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 -excl="C:\Program Files\Juno\ADS\*.*" "%cdr%Juno.zip" "C:\Program Files\Juno\*.*"
: QuickenB
pkzipc -add -rec -dir=root -lev=5 -attr=all -span=20.8 "%cdr%QuickenB.zip" "C:\QuickenB\*.*"
: Backup System State
pkzipc -add -rec -dir=root -lev=5 -attr=all "%cdr%Backup System State.zip" "c:\Backup System State.bkf"
copy "c:\download\winzip8.exe" "%cdr%"
:
:dir %cdr%
:
cd ..
:
pause Press any key to reset the archive bits
:
attrib -a /s /d "C:\Program Files\ACDSee32\*.*"
attrib -a /s /d "C:\Documents and Settings\Ben Moore\Application Data\Microsoft\Address Book\Ben Moore.wab"
attrib -a /s /d "C:\download\*.*"
attrib -a /s /d "C:\Documents and Settings\Ben Moore\Local Settings\Application Data\Identities\{4B7CEB2F-1892-443B-B4A8-DA8CDD99A31E}\Microsoft\Outlook Express\*.*"
attrib -a /s /d "C:\The HTML Reference Library\*.*"
attrib -a /s /d "C:\uft\*.*"
attrib -a /s /d "C:\Documents and Settings\Ben Moore\My Documents\*.*"
attrib -a /s /d "C:\games\*.*"
attrib -a /s /d "C:\Program Files\Juno\*.*"
attrib -a /s /d "C:\QuickenB\*.*"
attrib -a /s /d "c:\Backup System State.bkf"
:
pause Press any key to finish

dvd2.bat

: My Pictures
: My Videos
cd "c:\program files\pkware\pkzipc"
:
set cdr=c:\backup\dvd2:set cdr=e::
: My Pictures
pkzipc -add -rec -dir=root -lev=0 -attr=all -span=20.8 "%cdr%My Pictures.zip" "C:\Documents and Settings\Ben Moore\My Documents\My Pictures\*.*"
: My Videos
pkzipc -add -rec -dir=root -lev=0 -attr=all -span=20.8 "%cdr%My Videos.zip" "C:\Documents and Settings\Ben Moore\My Documents\My Videos\*.*"
:
copy "c:\download\winzip8.exe" "%cdr%"
:dir %cdr%
:
cd ..
:
pause Press any key to reset the archive bits
:
attrib -a /s /d "C:\Documents and Settings\Ben Moore\My Documents\My Pictures\*.*"
attrib -a /s /d "C:\Documents and Settings\Ben Moore\My Documents\My Videos\*.*"
:
pause Press any key to finish

No comments: