§ Databases · Embedded
SQLite backups, natively.
A consistent, compact copy taken with VACUUM INTO — safe while the application writes — and checked with PRAGMA integrity_check before it is collected. Apps in containers are reached through a pinned tools image.
What Xtic runs
sqlite3 -bail -cmd '.timeout 30000' /srv/app/app.db "VACUUM INTO '/var/tmp/xtic/<run>/app.db'"Shown with placeholders. Credentials never appear on a command line: they reach the tool through the environment, a file descriptor or a short-lived file in memory.
Restore paths
- Stop the app, write next to the target, swap atomically, remove stale -wal and -shm files, start
- To a different path, or replay a SQL dump into a new file
Verification
File header and PRAGMA integrity_check = ok on the staged copy. Every artifact is also hashed, and the stored copy is read back and compared before the run counts as verified.
Version rule
The file format has been stable since 3.0; newer features need a newer library.
Good to know
- Copying a live database file alone loses data — the -wal file holds committed pages
- Databases on network filesystems are unsafe to back up or run
- Licence and editions: Public domain.
More databases