Is there an accepted “best practice” for backing up the local Duplicati sqlite database?
Is it worth excluding the database from existing backups, and then creating a backup that only backs up the databases for the other backups? Or instead of a backup, use a tool to upload the database(s) to the cloud?
I know some Duplicati users do make a backup of the local database.
I think they will usually have an additional backup that takes care of databases, and then schedule it to run a few minutes after the primary backup.
The design of Duplicati is such that the local database is not needed, so from a design perspective, you should not have to do so.
In the past, there has been complaints that the recreate database was really slow, and in some cases failed, requiring the use of the recovery tool to get data out.
Happily corrected, but I do not believe any of these concerns are valid anymore.
I haven’t heard of RecoveryTool use in a really long time, but not all are reported.
More common is the slow or failed path, then it’s a fight to get back into business.
I use “business” for all users’ routines, but actual businesses may prefer to spend resources to reduce risk of downtime (they should have multiple backups though).
Personal backups might have a different tradeoff about predictability of recoveries.
In addition to that posted situation, there’s my own recent situation where 2.1.0.107 Canary made a mess that took a long time to find a working path to a DB recovery.
Granted, Canary is a test release, but some of these same bugs landed in the Beta and first 2.1.0.4 Stable release, leading to fast 2.1.0.5 Stable and low broad impact.
I still backup my job databases in a separate job, but I don’t schedule it. Instead I use the after job script to run it via a command. All my main jobs exclude their own database when backing up the main Duplicati data directory and then the extra backup picks up that database without worrying about it being in use.
I still worry about the main Duplicati database as I don’t think that can be simply “rebuilt” like the others, unless I’m mistaken. If not, then some way to back that up cleanly would be nice if the database is in use, It’s come in handy when rebuilding a failed machine.