Rsync – 将增量备份结果输出到不同的文件夹?

我是Unix系统的初学者,如果这听起来不太好,请耐心等待。

使用rsync进行增量备份的最常用方法就是这样做

rsync -av --delete <source> <destination> 

有没有办法做到这一点,你比较directory1目录2,然后存储在目录3输出?

基本上,我想要的是有一个完整备份系列的每日增量备份作为基础。

所以如果我有这些文件夹,今天是20130103

 /folder/to/back/up <-- source /backup/base <-- base /backup/20130101 <-- incremental /backup/20130102 <-- incremental 

我想用/backup/base比较/folder/to/back/up并将结果存储在一个新的文件夹/backup/20130103

这听起来像你真的想要rsnapshot ,这是rsync和其他一些工具的包装。 它自动构build一个非常接近你想要的增量备份结构。

要查看的rsync标志是

 --compare-dest=DIR also compare received files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged 

例如 :

rsync -aP –link-dest = PATHTO / $ PREVIOUSBACKUP $ SOURCE $ CURRENTBACKUP

这篇文章的基本原理(“每个Unix的时间机器”)已经被许多不同的程序以不同的方式实现,而rsnapshot也是其中之一。

Dirvish值得特别提及(原作者为rsync提供了--link-dest补丁); 它是一个Perl备份系统,利用rsync和硬链接(类似于rsnapshot)和带有date戳的目标文件夹,variables过期规则,排除规则等。 因为它使用硬链接,所以每个备份在文件系统中都以“完整备份”的forms出现,但只有“增量”更改被复制。

如果你有(或可以安装)Perl,我强烈build议Dirvish为你想要的。