因此,我所在的公司有一台漂亮的 Red Hat Enterprise 服务器和磁带备份系统,他们希望我使用它来备份公司制作的大量视频内容和资源。
理想的情况是保留上述 Red Hat 服务器上所有数据的本地副本,然后将所有更改的文件复制到磁带上,然后将其发送到异地。我知道我可以使用或unison
进行rsync
初始本地数据备份,但我需要知道的是,是否有办法获取仅包含已更改文件随后将被(完整地)复制到磁带。
我通过审计软件找到了几种可能的解决方案,但它们似乎都需要重新编译内核(目前还不可行)。我还被承诺可以unison
“开箱即用”地做到这一点,但我还没有弄清楚怎么做。
我提出的问题有解决方案吗?还是我的方法根本就是错的?任何帮助/建议都将不胜感激!
干杯!-Russell C
答案1
我会使用 Bacula 之类的备份程序来执行此操作。它会保存您的备份数据库,因此无需将文件大小和时间戳与已备份的文件(如 rsync)进行比较。
如果您想使用 rsync,您可以使用它find
来查找上次备份后更改的文件,将其写入文件,然后使用 rsync 的选项从该文件中读取要复制的文件名--files-from
。不过,这会带来时间问题。
答案2
正常的 rsync 输出有什么问题?
/tmp # ls -l ra
total 8
-rw-r--r-- 1 phemmer unix 5 2011/02/09-16:42:49 adsf
-rw-r--r-- 1 phemmer unix 29 2011/02/09-16:49:41 date
/tmp # date > ra/date
/tmp # rsync -Haxv ra rb
building file list ... done
ra/date
sent 180 bytes received 42 bytes 444.00 bytes/sec
total size is 34 speedup is 0.15
只需将 rsync 管道输出到某处rsync ... 1>/path/to/log
,然后解析日志以获取更改的文件列表
附言:你有不是想要为此使用 unison。Unison 是双向 rsync,而对于备份,您需要单向。