I've got a 2TB Western Digital drive that's showing the early signs of failure. It corrupted a 1GB file the other day. The thing is that corruption could be caused by the NTFS driver (Tuxera NTFS for Mac), or even the media encoding software that produced the file (Handbrake). Only time will tell when either a second file is corrupted, or the drive entirely fails.

I value the contents of the drive very highly. As well as my entire Music and Film collection - which I used to refer to as my CD and DVD collection, but I'm getting with the times - it has all my family photos and videos on. If the drive were to fail and I didn't have a backup, that's a lot of data gone.

I use rsync to conduct and automatic backup of the files from my Mac mini to my desktop PC. Rsync runs over many protocols, but I have it setup using secure shell (SSH), so the two machines don't have to be on the same private network segment.

When I noticed the file corruption, my first thought turned to "when was the last time the backup ran?" I realised that I'd allowed several weeks to go by without checking that I had a complete and verified backup. Even if the operation is as simple as turning another computer on and clicking a button, that's too complicated. I believe that backups must be:

  • Automatic
    they'll run everyday unless there's a problem
  • Non-interactive
    I shouldn't have to do anything to make the backup run
  • Notifying of failure
    I should be told when the backup has failed, but I shouldn't be bothered when it has run successfully.

I'll follow-up this post with an explanation of how I have a more robust backup solution for my businesses, but writing this has reminded me that I need to treat all my important files in the same way. Backup is a binary state and I only realise how important it is when something fails.