LAMP应用程序堆栈的(轻量级)备份策略?

时间:2009-12-14 04:32:20

标签: php mysql backup lamp backup-strategies

我正在研究一些轻量级工具来备份LAMP堆栈。

是最重要的两个部分
  • php codebase和
  • mysql数据库。

我可以tar/bz2代码和mysqldump并将其恢复到新服务器上(如果旧的服务器崩溃),这或多或少都不错。

无论如何,有更完整的解决方案吗?

  • e.g。跟踪并重新安装额外安装的pear-packages;
  • 跟踪与通过linux软件包管理器安装的LAMP堆栈相关的其他软件包,例如: APC;
  • 将mysql和php配置与备份保持一致,并能够自动恢复它们......
  • 可能完整的服务器映像,无需重新安装所有内容即可恢复。

我对提示,技巧,经验,解决方案感到好奇。

3 个答案:

答案 0 :(得分:2)

PHP代码库应该在SVN,Git等版本控制系统中进行管理。仅仅创建tar并不能为您提供适当版本控制系统为您提供的许多功能。

mysqldump的问题在于您必须锁定要转储的表以确保一致的快照。如果这需要很长时间,则其他数据库操作可能会在等待时超时。我们使用一个精彩的script for snapshotting正在运行的数据库而没有过多的锁。它是为Amazon / EC2环境设计的,但主体适用于任何具有xfs文件系统的Linux系统。

答案 1 :(得分:1)

这是一个很好的Ubuntu机器成像指南(显然你可以在其他发行版上使用): http://ubuntuforums.org/showthread.php?t=35087

简而言之(来自文章)

tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

要备份系统,请将其ftp到另一台服务器。

答案 2 :(得分:1)

我可以回答几点。我知道它不是一个流行的软件包,但我总是在服务器上使用RCS修改模式。它不一定是RCS,但没有理由不使用备份转储CVS / RCS存储库。

对于“完整的服务器映像”,我们不是自动安装应用程序要求(PHP软件包和软件包),而是根据每个应用程序部署我们自己的bin/ src/ usr/ var/ lib/结构,这简化了备份和system req的观点。

希望有所帮助。


我还看到mysqldumps RCS只保存更改。我确信在变革管理方面,这有点不重要。