我想在 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 或其他某种魔法。