0

我正在设置一个安装了 WHM / cPanel 的新服务器。

我可以每天进行一次或两次完整的 mySQL 备份,这一点非常重要。

目前数据库非常小(20 mb),但一旦我们获得更多客户,容量就会迅速增加。

我现在可以创建一个 cron 作业并通过电子邮件发送备份。但是,由于这些备份的未来大小,我认为这是一个糟糕的解决方案。

关于每日 mySQL 备份,您有哪些最佳建议?

4

3 回答 3

0

您可以设置一个 cron 作业来备份数据库并将其转储到您选择的目录中:

mysqldump --all-databases --skip-lock-tables | gzip -9 > /your/backup/dir/here/`date +%Y%m%d`_backup.sql.gz

你从那里做什么取决于你,但我同意你不应该因为它的大小而通过电子邮件发送它。也许您可以使用SCP将其发送到不同的服务器。

于 2012-10-03T21:24:46.380 回答
0

备份的常见做法如下

  1. 进行每日备份。
  2. 一旦第一天达到一周大,开始删除东西,但保留一周大的东西。
  3. 开始保留每月备份,一旦第一个达到一个月大,就每周删除所有备份。

您也可以每年继续执行此操作。

这样做的全部意义在于,您应该在备份达到周标记之前捕获信息中的任何错误。您真的不需要为任何特定目的保留真正旧的备份,这就是您开始删除内容的原因。

除非您在各种磁盘上拥有无限空间,否则最好遵循这种做法,并确保您的数据不会发生任何变化。

干杯。

于 2012-10-03T21:26:56.433 回答
0

如果您认为您的数据将增长到相当大的规模,以至于会导致大量数据库停机以进行转储,那么您首先应该考虑实施一个复制设置,以便您可以从从站中删除转储。

您当然可以mysqldump在 cron 中运行一个简单的命令,将转储文件放入机器上的驱动器中。然后,您可以担心通过其他方式将数据移出机器(您不想通过电子邮件发送)。请记住,只要您的数据转储完成,它就会暂时锁定您的数据库。

如果您想开箱即用,您可以在 Amazon RDS 上实现一个 MySQL 实例。它可以轻松完成复制、数据库快照等操作。

于 2012-10-03T21:27:51.563 回答