(Ok, so maybe they aren’t irrefutable, but they’re 10 I came up with while writing the article. NB, These are obviously targeted at a business environment but the essence should apply at home too)
1. It can’t be manual
Humans are idiots at the best of times… we’re also forgetful and lazy. Any backup solution that relies on someone to backup various files to a CD or external hard drive just simply isn’t going to work too long unless you’re super-admin-person.
2. It has to be often
Backups that happen weekly just aren’t really good enough. Humans may be idiots but we can get a lot of work done in a week. There’s also that dreaded feeling of knowing that you have to put your brain through that same disgusting task AGAIN… that is assuming you know what you did in the last week. Daily backups are great, twice daily better.
3. It has to be off site or you might as well not do it
The reality is that most times backups are used to rescue idiot users who deleted the wrong version etc. It’s flipping awesomeâ„¢ that you were able to rescue Sue’s excel spreadsheet that she spent the whole morning on, but really, what are you going to do if your server room burns down… or gets stolen… If the backups are sitting on a removable hard drive or on a tape in the tape drive then your backups are gone. Sue’s excel spreadsheet wasted 4 hours. Not having the company data is often a death sentence for a business.
4. Have a backup of the backup
If all your company does is send off dlt tapes to a secure offsite security company then what are you going to do when you discover that the dlt tape was dirty and can’t be recovered? Sure, this is highly unlikely… but so is a fire in your server room… If all it was going to take to fix was a cheapass 500 gig external drive sitting on a rack then you’ll hate yourself for not having one.
5. Test your backups
This really leads on from number 4… Too many times I’ve heard someone say “I thought it was doing a full backup but actually…“
6. Publish your backup policy
I’ve personally found out the hard way that the “server” backups didn’t include my code… If you publish the backup policy you at least give the lusers a chance at realising their impending doom.
7. Have backups aimed at mistakes and backups aimed at catastrophes
I’ve hinted at this in some of the rules above. You want to be thinking of backups with two hats on. First hat is “Rescue Sue’s excel from 5 hours ago“. Second hat is “OMFG the server room *actually* burnt down“.
8. Incremental is king
Ideally you want to be doing 4 Days (Mon,Tues,Wed, Thurs), 3 Weeks (Fri1,Fri2,Fri3), 6 Months(M1,M2,M3,M4,M5,M6), 2 Years (Y1, Y2). Yes, that’s a lot of backups… start at the beginning and see what you can do. Yes, it is paranoia, but businesses often need to go back for various reasons… Sometimes it will be as simple as finding an old database that suddenly became important again… or you might find yourself having to sift through mail folders after dodgy employees leave.
9. Dont skimp on cost
This one is particularly targeted at management. Backups are not valuable – they are priceless. If you force your techies to work with substandard gear, old tapes or pathetically slow systems you are putting your business at risk. There is no point in having a backup solution that is so slow that it can’t backup all the data in a day.
10. Grow with your needs.
Storage is not THAT expensive. Budget for backup systems growth just like you would budget for any new server hardware. If your needs can justify it, consider buying a full backup server. It is not a safe or productive solution if you keep on running over your tape limit and not getting a successful backup out the door. If individual departments have stupid amounts of media consider breaking them out of your main backup policy and develop a new one that suits them better… It might be that certain departments don’t need more than a few days incremental backups of their data.
In case you’re wondering what prompted this post… I’ve just set up a backup policy in my house. Our important data (Photographs, Thesises etc) gets stored/backed up on the server; that data is additionally stored (rsync) on a second HDD in case of primary HDD failure and then the most critical data is rsync’d up to a remote server sitting on the internet. This all happens twice daily and takes about 30 seconds due to the magic of rsync.