【问题标题】:Using cron job + git to automatically backup live database使用 cron job + git 自动备份实时数据库
【发布时间】:2016-07-07 17:43:25
【问题描述】:

我在 AWS 上的 Ubuntu 实例上托管 Web 系统。经常备份数据库非常关键。我一直在研究自动实例快照,但我发现这个解决方案并不理想,原因有两个:备份整个实例的做法太过分了,而且我看到的所有指南都建议每天只备份一次。

我正在考虑编写一个小的 shell 脚本,它使用 git 定期提交 MySQL 数据库中的更改并推送到远程仓库。该脚本应由 cron 作业激活。

我的问题是:这种方法行得通吗?我没有在任何地方看到这个解决方案,所以我怀疑我在这里遗漏了一些东西。 数据库永远不会大于 50 mb。

谢谢

【问题讨论】:

    标签: mysql git amazon-web-services cron


    【解决方案1】:

    是的,它会起作用 - 我在我的一个宠物项目中使用了类似的东西。即使mysqldump 的输出对 git 非常友好,您可以很好地查看差异等。

    不过,使用 git 进行备份并不是很常见,这可能就是您在任何地方都没有看到它提出的原因。有些解决方案专为备份而设计,比 git 更可取。

    【讨论】:

    • 我担心的是,如果在执行“git commit”时对数据库进行了更改,那么提交可能会被破坏。数据库有多大,你有多少流量?在我的情况下,流量非常低(每天
    • 这是一个非常低流量的网站,每天的点击量不到 100 次。在我的设置中,我执行mysqldump <params> > database.sql,然后将生成的 sql 文件添加到 git 中。即使有并发流量,mysqldump 也不会失败。
    • 同意,可以。根据dba.stackexchange.com/questions/19532/…,在具有活动读写的系统上生成 sql 转储是安全的。谢谢
    • 我还要提到它有助于将--skip-comments--skip-dump-date 选项传递给mysqldump 以减少转储文件之间不相关差异的数量。就个人而言,我使用的是/usr/bin/mysqldump --force --opt --routines --skip-comments --skip-dump-date $dbname"
    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    相关资源
    最近更新 更多