如何每日自动备份 LAMP 上的文件/目录和数据库

如何每日自动备份 LAMP 上的文件/目录和数据库

有没有办法在 LAMP 上自动备份整个网站(包括文件和数据库)?

phpMyAdmin 可用。

我想将压缩文件和数据库 sql 保存在 www 目录上方的文件夹中,以便没有人可以在线访问它。

答案1

编写一个 shell 脚本来执行此操作并从 cron 调用它(如果您有权访问 cron)非常简单。如果您由于托管服务而无法访问 cron,则可以创建一个秘密的 php 文件,然后从其他具有 cron 的计算机调用该文件(我在家里使用 Linux 机器来做类似的事情)。

请记住,备份只有在以下情况下才算真正的备份:

  • 它位于多个位置,而不仅仅是在同一台计算机上
  • 您已通过恢复它(无论是恢复到真实站点还是测试站点)证明它是有效的

我使用包含以下内容的 shell 脚本来备份 wordpress 网站

#!/bin/sh
mysqldump --opt --user=wordpress wordpress > /backup_1/wordpress.db.transfer
tar cvfz /backup_1/wordpress.tar.gz /www/wordpress

但是我有另一个备份过程,它将 /backup_1 通过网络复制到另一台远程机器。

答案2

rsnapshot 是备份所有文件/文件夹的绝佳工具:

http://www.rsnapshot.org/

大多数 Linux 发行版都已为其提供了一个软件包。设置起来非常简单 - 查看 /etc/rsnapshot.conf,其中有很多注释。

但是对于 MySQL,您需要单独转储数据库以避免复制不一致的文件。AutoMySQLBackup 在过去为我提供了很好的服务:

http://sourceforge.net/projects/automysqlbackup/

它也很容易设置。这两个工具都应该从 cron 运行。

希望这可以帮助。

相关内容