实现 cron 作业来备份 MySQL 数据库并通过电子邮件发送给我自己最有效的方法是什么?

实现 cron 作业来备份 MySQL 数据库并通过电子邮件发送给我自己最有效的方法是什么?

自动备份 MySQL 数据库、对其进行 gzip 压缩并通过电子邮件发送到特定帐户的最有效方法是什么?

我有点担心丢失论坛数据库,而且我通常一周都很忙,经常忘记每周备份一次(而是每两周或每月备份一次,这还不算太糟,但频率比我希望的要低)。使用 cronjob 和电子邮件(或 FTP/SFTP,因为我刚刚意识到其中一个数据库太大而无法附加在电子邮件中)进行设置会容易得多,而且我不容易忘记。

我现在的看法是:

mysqldump dbname > YYYY-MM-DD_dbname.sql gzip YYYY-MM-DD_dbname.sql 将 YYYY-MM-DD_dbname.sql.gz 作为附件发送到电子邮件地址或 {S,}FTP 将其发送到另一台服务器并发送电子邮件让我知道备份和传输成功。

有没有更好的方法来实现这一点?有什么例子可以说明如何实现它吗?

答案1

我认为你不可能做得比现在更好。我可能会使用类似下面的方法:

  • 创建数据库转储
  • 使用 gzip 或其他方式压缩它(技术上可选)
  • 使用scprsync将文件复制到另一台服务器
  • 在远程服务器上运行校验和来验证副本(可选)
  • 删除原始数据库转储(可选)
  • 发送邮件表明成功

或者,如果任何一步失败,请退出并立即发送电子邮件解释失败原因。(我假设您拥有必要的工具,例如rsyncscpsha1summd5sumgzipmailsendmail等效工具)

相关内容