Verifying backups ================= It's 9 in the evening. Do you know if your backups work? Do you know when you last made a successful backup of all of your data? Do you know whether you can restore from that backup? If not, how well can you sleep? You should verify your backups, and do it regularly, not just when you first set up the backup system. Verification means doing whatever you need to do to ensure all of your precious data has been backed up and can be correctly restored from the backups. The simplest way to do that is to restore all your data, and compare it with your live data, and note any differences. That requires you have enough free disk space to restore everything, but it's almost the only way to be really sure. It's also a great way to ensure the restoring actually works. If you don't test that, don't expect it'll work when needed. If you have the disk space to do a complete restore, doing so is a great way to exercise your disaster recovery process in general. Here's one way of doing it: * On your main computer, do a backup. * On a second computer, perhaps borrowed for this, restore all your data, without using your main computer at all. * Start using the restored data as your live data. Do real work, and do all the things you normally do. Pretend your main computer was eaten by your pet shark. * If you notice something missing, or being corrupt, or being too old, get the files from your main computer, and fix your backup process so that the next time you won't have that problem. How often should you do that? That, again, depends on how you feel about your data, and how much you trust your backup tools and processes. If it's really important that you can recover from a disaster, you need to verify more frequently. If data loss is merely inconvenient and not disastrous in a life changing way, you can verify less often. In addition to restoring data, Obnam provides two other ways to verify your backups: * `obnam verify` is like `obnam restore`, except it compares the backed up data with live data, and reports any differences. This requires you to trust that Obnam does the verification correctly. * `obnam mount` lets you access your backed up data as if it were just a directory. You can then use any tool you trust to compare the backed up data with live data. This is very much like doing a restore, since the comparison tool will have to extract all the data and metadata from the backup; it just doesn't write it out. Both of these approaches have the problem that they compare a backup with live data, and the live data may have changed after the backup was made. You need to verify all differences manually, and if the live data changes frequently, the can be a large number of wrong reports.