【问题标题】:Incremental Backup Solution (Sqlite, MySQL, SQL Server)增量备份解决方案(Sqlite、MySQL、SQL Server)
【发布时间】:2013-01-09 05:19:11
【问题描述】:

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

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

【问题讨论】:

    标签: database backup


    【解决方案1】:

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

    -- 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2010-10-05
      相关资源
      最近更新 更多