Congratulations for your concern about having good backups, and consolations for your loss of work from the hard drive failure that lost documents stored in the Global Inbox.
In the many years and on the many Macs I’ve worked with I’ve only experienced one hard drive crash. Because that drive had a very recent backup of my databases to an external drive, I didn’t lose any data.
But I’ve concluded that there is no such thing as a Really Comprehensive Backup Strategy that can also be Completely Automated. There are common situations such as the user’s decision to make major modifications to a database, where a manual backup procedure before making those modifications should be done.
Let’s start with the free automatic backup routine that’s included in OS X, Time Machine. I use it and recommend it. It can be scheduled to make hourly backups of incremental changes to the data on a computer. If you had been using Time Machine (or the closely related Time Capsule) backup system, it would have allowed recovery of your Global Inbox data after your hard drive crash.
There are two weaknesses in Time Machine backups of DEVONthink databases, however, and they should be taken into account in your backup strategy.
The most serious weakness of Time Machine is that it doesn’t check database integrity. If a database has become damaged, Time Machine’s backup is damaged.
That weakness can be mitigated by user intervention. If you get into the habit of manually invoking Tools > Verify & Repair periodically to check for errors, followed by Tools > Backup & Optimize if no errors are found, the trustworthiness of Time Machine backups is vastly greater.
A second weakness of Time Machine backups is that there’s a possibility that at the moment changes to the files in a database are copied to the backup, there might still be data in memory that hasn’t yet been saved to disk. Thus, there’s a possibility of missing data in the backup. This rarely turns out to be a serious problem, but it can happen. Again, user intervention by quitting the DEVONthink application will mitigate the potential problem. If you are working such that Time Machine is automatically backing up data every hour in tha background, I wouldn’t worry too much. Again, however, if one has run Verify & Repair once in a while during the day, followed by Backup & Optimize, the Tools > Restore Backup routine would correct errors in a database recovered from Time Machine that might result from this weakness of Time Machine, with little or no loss of data.
I do most of my database work on a laptop, so Time Machine isn’t doing hourly automatic backups. When I return my laptop to the desk and mount the external drive on which Time Machine backups are stored, I will first invoke Verify & Repair on each database that has been modified. My databases are very stable - it’s been years since an error was reported, but it’s prudent to do this. If no error was reported, than I invoke Backup & Optimize. Next, I quit the DEVONthink application and manually start a Time Machine backup. I’ve tested database backups created in this way, and they have all been good.
My backups of last resort, copies of which are stored offsite, are database archives produced by the File > Export > Database archive or by one of the Scripts > Export routines. They are important in my backup strategy, as they will be available if Bad Things such as theft of my computer equipment or a fire were to result in loss, including loss of the Time Machine backups. Database archives are the smallest possible, complete backups of databases. I copy them to a portable drive that’s stored in a safety deposit box at my bank. (I can’t consider cloud storage of my collection of database archives. It would take days to upload them, and days to retrieve them if needed, given my Internet access speeds.)
While it might be possible to automate production of database archives, it would be hard to avoid scripting timeout problems. The most time-consuming part of the routine is the compression phase - it may take quite a few minutes to zip a multi-gigabyte database. Another potential problem with automation would be that if an error is found in a database, the routine will stop with an error message report.
Every few weeks I update my database archives to a portable hard drive and swap it with the portable drive that’s currently at my bank. Usually, only a few of my collection of databases will require creation of a new archive during that time period - it is an easy task to compare modification dates of the existing archives to modification dates of the corresponding databases.