2

我正在研究一些轻量级工具来备份 LAMP 堆栈。最重要的两件作品是

  • php代码库和
  • mysql数据库。

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

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

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

我对提示、技巧、经验、解决方案很好奇..

4

3 回答 3

2

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

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

于 2009-12-14T05:06:18.167 回答
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 到另一台服务器。

于 2009-12-14T04:44:36.423 回答
1

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

对于“完整的服务器映像”,我们不是自动安装应用程序需求(PHP 包和 c),而是根据每个应用程序部署我们自己的bin/ src/ usr/ var/ lib/结构,从而简化备份和系统请求的视角。

希望有帮助。


我还看到 mysqldumps RCS'd 只保存更改。不过,我确信这在变更管理方面会有些不重要。

于 2009-12-14T04:46:24.490 回答