使用 rsync 复制符号链接

使用 rsync 复制符号链接

当我尝试使用 rsync 备份磁盘时,符号链接未正确解析。

例如:

media 
└disk1
  ├folder1
  │ └folder2 (symlink to /media/disk1/folder2)
  └folder2

之后rsync -a /media/disk1/. /media/disk2disk2将如下所示:

media 
└disk2
  ├folder1
  │ └folder2 (symlink to /media/disk1/folder2) <-- should be "disk2"
  └folder2

我想要的是一个使符号链接“相对”或 rsync 自动调整链接引用的解决方案。那可能吗?

答案1

使用相对符号链接代替:

media 
└disk1
  ├folder1
  │ └folder2 (symlink to ../folder2)
  └folder2

复制后,它将是相同的,并且由于这是相对于位置的,因此它将在disk2.

如果还不清楚,这个想法是:

cd /media/disk1/folder1
rm folder2
ln -s ../folder2 folder2

最后一个命令不同于ln -s /media/disk1/folder2 folder2;在第一种情况下,链接的内容是相对路径,在第二种情况下,链接的内容是绝对路径。在这种情况下,您需要使用相对路径,而不是绝对路径。

相关内容