增量备份解决方案(Sqlite,MySQL,SQL Server)

时间:2013-01-08 17:55:00

标签: database backup

我在项目中使用Sqlite。目前我已经收集了3000万个样本,数据库文件的大小约为2 GB!我也每12小时自动使用sqlite3.exe应用程序执行备份。数据库的大小正在增加,我应该切换到增量备份解决方案。我想询问是否有办法为sqlite DB执行此操作?

如果没有,我可以迁移到另一个DBMS(如MySQL或Microsoft SQL Server,......)。我可以使用哪种软件来自动执行此增量备份过程。有没有免费软件?

1 个答案:

答案 0 :(得分:0)

假设您的表中有必要的字段,您可以简单地将完整备份更改为拉出最后一次拉动后创建的所有内容:

-- export.sql.template
sql='SELECT * FROM YourTable WHERE SampleID > $lastSampleID'

然后您可以在每次备份后存储最后一个SampleID:

# in pseudo-code - this will not work as-is
cd /path/to/db
lastSampleID=$(cat lastIDFile)
. export.sql.template
echo $sql > export.sql
sqlite db.sqlite --run-script export.sql > backups/$currentDate
lastSampleID=$(get-last-id-from-file backups/$currentDate)
echo $lastSampleID > lastIDFile