Backup, backup, backup!
How to ensure your data is safe? How to ensure that you graduate on time? The modern day equivalent of "My dog ate my report" is "My hard disk crashed"
Answer: Backup, backup, backup
Simplest solution: backup to a portable USB hard drive. Make sure the USB drive is as big as your main data drive, if it is any smaller, you will be too lazy to figure out what to backup. An external USB 2.0 drive cost around S$100 for 200GB (circa 2007). Buy this as an insurance, if nothing else.
All files checked in to our svn.mosuma.com repository enjoys 3 levels of backup:
- The svn repository sits on a RAID1 (mirroring using two drives) hard drive partition. If one drive fails, the mirrored drive will kick in automatically.
- The mirrored partition is incrementally backed up to a 3rd physical drive (of the same server) every day/week/month, maintaining incremental backups for up to 6 months.
- The svn repository is periodically backed up to a different server located geographically away from the main svn server.
Do check in important documentation and source code to svn.mosuma.com. Don't check in everything to it, however, as it is not a black hole.
The NTU server liubei.mosuma.com (accessible by KRG students onlyl) also enjoys the first two levels of protection.
On your personal machine, you can consider installing software RAID1 if you have two hard drives (need not be identical). Richard Stallman uses a RAID1 mirroring (dual hard drives) on his notebook. Windows XP has a hidden RAID1 configuration software, google for it. Linux 2.6 and above has software RAID built in, make use of it. Software RAID is more flexible (writes are slower because every write goes to 2 physical drives, reads are faster as different portions of large files can be read in parallel from the 2 drives) than hardware RAID because it is not tied into a particular hardware.
Some tools to use:
- TreeComp Andrew Tridgell and Paul Mackerras (for windows)
- rsync. An award-winning delta backup tool originally written by Andrew Tridgell and Paul Mackerras. I use rsync to synchronize between windows/linux across different countries! You just need one command line to synchronize! Install cygwin to use rsync on windows.
- rsnapshot. A backup tool based on rsync. I used it to automatically backup multiple geographically separated servers.
Back in 1993, a student complained to me that his hard drive crashed and requested special consideration for handing in his report late. I told him he might as well have told me that his dog ate his report.
I personally have seen 5-6 hard drives died over the course of my life. Nowadays, I rsync my important directories everyday! For ultra urgent documents such as last minute presentations and papers, I make sure I save an extra copy in a flash memory after every few minutes of editing.
All my recent Linux installations (e.g. CSC207, CSC279 CID) have used a RAID1 Mirror plus 3rd drive backup where feasible. In fact, one of the mirror drive in the CSC279 CID server died halfway through the 2-week project duration, luckily the mirrored drive kicked in automatically.
I have once heard the story about a pre-historic speaker, who would prepare the following for every talk:
- an extra set of transparencies of his talk/presentation
- a set of printed slides on paper
- a videotape recording of his talk to be pre-delivered to the destination
The videotape is intended to be played if he cannot make it to the venue. This shows how careful or paranoid the speaker is, depending on how you view it.
Backing up your data is your personal responsibility. If you don't backup, you take full responsibility for all the consequences.
Lastly, don't tell me your computer ate your code/report.

