SQLite: создание бэкапов


Пример процедуры корректного выполнения бэкапа:

$ sqlite3 some.db
sqlite> begin immediate;
<press CTRL+Z>

$ cp some.db some.db.backup
$ exit
sqlite> rollback


Если же база говорит "Error: database disk image is malformed"
то ее можно починить таким простым скриптом:

#!/bin/bash

cat <( sqlite3 "$1" .dump | grep "^ROLLBACK" -v ) <( echo "COMMIT;" ) | sqlite3 "$1.restored"