我过去几年使用过一个备份程序,它使用 Rysnc 来备份我的文件并维护版本等。有问题的系统是 Rsync-time-backup -https://github.com/laurent22/rsync-time-backup
它会创建 XX GB 大小的基本备份,然后在相关文件未更改的情况下为后续备份执行大量符号链接。
以过去 4 年为例,数据文件备份的总大小为 850GB,而源文件的大小为 180GB。这是保留年度备份、12 个月备份等
无论如何,我现在想将整个设备移动到新的硬盘驱动器(用新阵列中的新驱动器替换旧的 MDADM 阵列)
我尝试将此备份数据执行 Rysnc 到新安装的驱动器 - 但它似乎将每个符号链接扩展为实际文件,因此占用了一大堆磁盘空间。有没有办法告诉 rsynch 复制整个结构并维护该结构内的符号链接而不是扩展它们?
克雷格
答案1
是否有办法
rsync
复制整个结构并维护该结构内的符号链接而不是扩展它们
绝对地。您还需要维护rsync
可能已放入与每个文件关联的扩展属性中的任何元数据。以 root 身份运行(或使用sudo
):
rsync -avXXH /path/to/source/ /path/to/target
这是一个可重复的命令,即如果它中途停止,您可以再次运行它,它将从中断处继续。
答案2
tar
非常擅长保留符号链接。它在任意链接上都可以很好地工作。尝试类似的东西
tar c . | ssh <target> tar x
如果它是本地安装的,你可以这样做
(cd <source> ; tar c . ) | (cd <destination> ; tar x)