在ubuntu 12.04服务器上安全备份sqlite3数据库的脚本

在ubuntu 12.04服务器上安全备份sqlite3数据库的脚本,ubuntu,sqlite,Ubuntu,Sqlite,我们想运行一个cron作业,以便在ubuntu 12.04服务器上安全地备份sqlite3 db。在执行备份时,数据库可能会被其他应用程序锁定,我们需要解决方案确保这种情况下的安全。有备份api,我们不知道如何使用它。该解决方案应该能够备份整个数据库,甚至可以增量备份。我们计划做的是备份到同一台服务器上的一个文件中。我们正在寻找一个脚本,它可以插入cron scheduler,而无需任何修改或稍作修改。可以使用命令行工具的.backup命令调用备份API 要等待其他应用程序解锁数据库,您必须使用

我们想运行一个cron作业,以便在ubuntu 12.04服务器上安全地备份sqlite3 db。在执行备份时,数据库可能会被其他应用程序锁定,我们需要解决方案确保这种情况下的安全。有备份api,我们不知道如何使用它。该解决方案应该能够备份整个数据库,甚至可以增量备份。我们计划做的是备份到同一台服务器上的一个文件中。我们正在寻找一个脚本,它可以插入cron scheduler,而无需任何修改或稍作修改。

可以使用命令行工具的
.backup
命令调用备份API

要等待其他应用程序解锁数据库,您必须使用
.timeout
命令设置超时:

sqlite3 my.db <<EOF
.timeout 20000
.backup backup.db
EOF

sqlite3 my.db一个非常干净的脚本!如果在“.backup backup.db”期间数据库上有写入请求,会发生什么情况?.timeout 20000是否将清除锁定并使db为备份做好准备?当其他应用尝试等待时,它将根据自己的超时设置进行等待。超时值仅指定数据库应等待其他应用程序完成其访问的时间上限;20000毫秒对您来说可能不够,也可能不够。