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

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

phpMyAdmin是可用的。

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

编写一个shell脚本来做这件事很容易,并从cron中调用它(如果你有权访问cron)。 如果你因为你的托pipe服务而无法访问cron,你可以创build一个秘密的php文件,你可以从其他有cron的计算机上调用(我在家使用Linux系统来做类似的事情)。

请记住,备份不是真正的备份,直到

  • 它位于多个地点,而不只是在同一台计算机上
  • 你已经certificate它的工作原理是恢复它(无论是真实的网站或testing网站)

我通过包含一个shell脚本来备份wo​​rdpress站点

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

但是,我有另一个备份过程,通过networking复制/ backup_1到另一个远程机器。

rsnapshot是制作所有文件/文件夹备份的好工具:

http://www.rsnapshot.org/

大多数Linux发行版都已经有了一个包。 安装非常简单 – 查看/etc/rsnapshot.conf,其中有很多评论。

但是,对于MySQL,您需要单独转储数据库以避免复制不一致的文件。 AutoMySQLBackup在过去帮助过我:

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

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

希望这可以帮助。