我阅读了相当多关于备份工具的帖子、维基页面和网页,包括 Bacula 和 backupPc。对于 BackupPC,我阅读了官方文档。我正在寻找一种自动备份解决方案来替代 Clonezilla 备份。
我觉得很奇怪,在教程中我没有看到任何关于系统一致性的参考。当考虑自动服务器备份时,这难道不是首先想到的事情之一吗?MySQL 数据库怎么办?备份时可能会更改的大量内容(电子邮件、博客、商店、git)怎么办?我希望这些工具提供自动数据库转储、在即将备份文件时启动和停止服务的功能。由于服务将文件分发到各处,我预计这将是一项不简单且非常耗时的规划。此外,一些服务(如 NTP、LDAP、Samba)可能涉及用户和服务身份验证,并且只能在备份服务器接管时关闭(不应同时备份……)。然后包括用户警告,即某些东西将在 5-4-3-2-1-0 分钟内离线,等等。我想你明白了。
所以现在我感觉我忽略了一些非常简单的解决方案。如果有人能帮我摆脱这种思维困境,并告诉我可以遵循从头到尾的教程来备份服务器(包括服务)的话,我会非常高兴。
编辑:
评论告诉我我的问题可能被误解了。请允许我重新表述一下这个问题:
“根据我上面所说的,您是如何解决您环境中的这些问题的?”
我很高兴能得到有关实际在现场起作用的东西的任何信息。
谢谢阅读。
猫人
答案1
如果您使用虚拟机,您可以复制整个虚拟机并完成它。不过,我们对 Google 实例使用自定义脚本,并且不依赖备份软件。
基本上:收集所有要备份的数据并将其放入一个目录中。我们将其称为/backup/
。其中/backup/
我们有名为的目录01
。31
在这些目录中,我们将需要保存的所有文件复制。因此,我们在机器上拥有 1 个月的备份。如果空间有限,您也可以按天执行此操作(因此是 7 天的备份)。
对于 mysql,我们有一个脚本来停止数据库并使用 mysqldump 生成 1 个大文件并将其存储在/backup/[01-31]
该月份的特定数字上。配置文件也被复制过来。Jasperserver(一种主要用于创建 PDF 模板的工具)有一个导出脚本,可以将所有自定义内容导出到 1 个大 zip 文件中。对于 apache,我们将网站软件复制到 zip 文件中,并复制配置文件。我们的系统不使用邮件(我们使用 2 个远程系统(称为 flowmailer 和 postmark)来发送邮件),但这里也可以做类似的事情。
然后将该数据复制到不在同一栋建筑物内的另一台机器上。
我们的停机时间需要接近 0。我们的客户遍布世界各地(从中国到美国)。MySQL 转储大约需要 90 分钟(在这 90 分钟内,所有其他软件都已完成)。为了解决这个问题,我们使用 2 个 Google 实例,备份由从属服务器完成,因此停机时间为 0。之后我们需要做的就是更新从属服务器。