Sqlite3 backup should be done using "VACUUM INTO"

At “ What to backup ” in the docs it says:

”To back up SQLite databases, it is enough to copy the database file to somewhere else.”

While this usually works, the Sqlite3 docs state:

“Systems that run automatic backups in the background might try to make a backup copy of an SQLite database file while it is in the middle of a transaction. The backup copy then might contain some old and some new content, and thus be corrupt.”

Docs should recommend “VACUUM INTO …” as a preferred backup method over file copying:

$ sqlite3 db/vikunja.db “VACUUM INTO ‘20260707_vikunja.db’”

1 Like