我需要一个脚本来帮助我在服务器上备份网络文件,使用增量和差异的混合策略。'tar' 可以做类似的事情,但问题是提取大约 30Gb 的文件很耗时,而且效率不高。我认为应该有一种方法可以将文件及其索引备份到两个不同的文件中,这样在发生灾难时,我可以在索引文件中找到所需的文件,然后提取它们。
答案1
您看过 rdiff-backup 吗?
http://rdiff-backup.nongnu.org
rdiff-backup 将一个目录备份到另一个目录,可能通过网络。目标目录最终成为源目录的副本,但额外的反向差异(即差异备份)存储在该目标目录的特殊子目录中,因此您仍然可以恢复一段时间前丢失的文件。
这个想法是将镜像和增量备份的最佳特性结合起来。
rdiff-backup 还保留子目录、硬链接、dev 文件、权限、uid/gid 所有权、修改时间、扩展属性、acls 和资源分支。
此外,rdiff-backup 可以通过管道以节省带宽的方式运行,就像 rsync 一样。因此,您可以使用 rdiff-backup 和 ssh 将硬盘安全地备份到远程位置,并且只会传输差异部分。最后,rdiff-backup 易于使用,设置具有合理的默认值。
答案2
迪尔维什按照您的需要进行增量备份,并使用实用程序对备份进行索引以进行搜索
答案3
大多数“备份系统”(与 tar 或 zip 等单独的备份工具相反)支持索引,包括使用该索引进行智能恢复。
由于您没有提供环境的详细信息,但提到了 tar,我建议您查看类似 Amanda (http://www.amanda.org/)。如果您需要此功能,它还可以处理 Windows 系统的备份。
答案4
我会附和并强烈建议使用“backup2l”作为创建备份的简单解决方案。它将处理完整和增量备份,并允许您定义自己的“统治者”策略。基本 CLI 工具支持文件恢复,尽管该工具使用标准文件类型(如“tar”(可选地与 gzip/bzip2 结合使用))进行存储。
如果你想备份一大堆盒子,并有一个“CSR 证明!”的 Web 界面,那么我还建议你阅读 BackupPC,这是一个出色的工具。