1

bash スクリプト内に sqlite データベースのバイナリ バックアップを実装し、これを cron ジョブとして設定したいと考えています。安全なバックアップとは、データベース ファイルをコピーする前の書き込みロックを意味します。bash インタラクティブ レシピ ( http://ajacevedo.com/resources/sqlite/ )を見つけました。

$ sqlite3 databasename.sqlite3
sqlite> begin immediate;
<press CTRL+Z>
$ cp -a databasename.sqlite3 databasename.sqlite3.backup
$ fg
sqlite> rollback;
sqlite> .exit 

sqlite に .backup があることは知っていますが、書き込みロックを実行していないようです ( .backup 中に sqlite はロックされています)。残念ながら、私は bash の専門家ではありません。cron ジョブ (非対話型) として実行できる bash スクリプトにそのコードを実装する可能性はありますか? pid またはその他の種類の魔法を使用している可能性があります。

4

2 に答える 2

1

以下のコマンドは、bash スクリプト内で使用できます。

sqlite3 your_db.sqlite ".backup your_backup.sqlite"

Sqlite3 クエリは、sqlite3 db_name.sqlite "command".

.backupまた、作業中にバックアップを作成する安全な方法です。良いメモはここに記載されています: https://www.sqlite.org/howtocorrupt.html

于 2016-01-03T15:03:42.957 に答える