我有一个装有 Debian 6(squeeze)的 VPS,想将其备份在家里的外部驱动器上,以便在发生故障时我可以恢复包含所有软件、设置和数据库的完整操作系统。
我想到的解决方案是将rsync
服务器的/
目录复制到外部驱动器,例如。该选项将排除虚拟目录,例如、和。rsync --one-file-system --archive "[email protected]:/" "/media/backup"
--one-file-system
/proc
/sys
/dev
/run
大多数 VPS 提供商都没有从虚拟 CD 启动服务器或在服务器未运行时修改其文件系统的选项,因此对新 VPS 的备份恢复必须涉及全新安装的 Debian 进行修改。
我认为可以通过rsync
将外部驱动器添加到服务器的/
目录来完成,使用类似的命令。用于删除服务器上不在备份中的文件,而不是删除虚拟目录(在进行备份时排除的目录)。rsync --one-file-system --archive --delete "/media/backup" "[email protected]:/"
--delete
--one-file-system
虚拟化平台是OpenVZ,因此内核是共享的,并且/boot
是空的。
所述解决方案可靠吗?我应该排除更多目录吗?如果解决方案不可靠,您建议采用什么替代方案?
答案1
所描述的解决方案是否可靠?
您唯一需要注意的是,在执行 时,确保关键文件不会被写入或被大量使用rsync
。除此之外,此方法效果很好。从这个意义上讲,它是可靠的,因为 Linux 没有注册表或全局键/值数据存储的概念。
您可能需要做的一件事是禁用 uid/gid 匹配(--numeric-ids
),否则如果您的目标系统具有具有相同用户/组的用户(例如nobody
或mailman
),rsync
则将交换 UID,并且可能会/可能不会将其交换回来,具体取决于您恢复文件的顺序(例如,是否/etc/passwd
存在映射)。
我应该排除更多目录吗?
我觉得这没有必要。我-auvz
制作 s 时用过rsync
,从来没有遇到过问题。您可能想要使用,它会以很少的额外成本为rsnapshot
您提供s 和轮换备份。rsync