我正在寻找一个简单的备份解决方案来备份我的 Linux 服务器(RHEL5-x86_64)。
我必须是自动的(晚上运行,所以我不能照看它)
它必须在实时系统上运行(或半实时 - 我预计备份时性能会下降)
它必须能够将备份发送到本地磁盘、FTP 或其他可安装驱动器。
必须支持旋转备份,以便它不会占用所有可用空间。
一个很大的好处是支持每日差异备份,并每周进行完整备份。
到目前为止我已经研究过 dd、tar 和 Amanda。
阿曼达似乎没有必要那么复杂而且依赖于磁带(硬盘上有虚拟磁带——什么鬼?)。dd 和 tar 很好用而且简单,但是不支持简单的差异备份,而且需要相当多的自定义脚本才能顺利运行。
欢迎任何建设性的建议!
编辑:刚刚尝试 tar'ing /,我正在运行的虚拟机的磁盘文件给出警告“文件在读取时发生更改” - 这是个问题吗?
edit2:@cjc - 是的,场景是服务器着火了。设置新服务器后(在这种情况下时间并不紧迫),应从异地 FTP 服务器传输备份,并且机器应像着火前(或发生任何故障)一样运行。我宁愿不必安装新操作系统。我想象使用 Live Linux CD,安装 grub 并将备份复制到 HDD,如本指南中所述:http://ubuntuforums.org/showthread.php?t=35087
答案1
看一下同步和 rsnapshot。Rsync 有很多选项,您可以轻松地将其集成到脚本中或/并将其添加到您的 crontab(这有点 DIY)。
然而,为了满足您的需求,我会使用 rnsapshot(它使用 rsync),它通常可以完成您想要的一切。
rsnapshot 是一个基于 rsync 的文件系统快照实用程序。它可以为任意数量的机器进行本地和远程文件系统的增量备份。rsnapshot 大量使用硬链接,因此仅在绝对必要时才使用磁盘空间。
使用硬链接,rsnapshot 会给人造成多次完整备份的错觉,但实际上只占用一次完整备份加上差异备份的空间。与 ssh 结合使用时,还可以对远程文件系统进行快照。
因此,rsnapshot 节省了更多磁盘空间。所需空间量大致相当于一个完整备份的大小,加上每个更改的附加文件的副本。
答案2
如果您将操作系统和数据分开,并且操作系统位于 lvm 上,则可以使用 lvm 快照备份操作系统并使用 rsync 备份数据。很久以前我就是这样做的。