rsync:如何重新定位绝对符号链接?

rsync:如何重新定位绝对符号链接?

我仔细研究了 rsync 联机帮助页以及 serverfault 上的几个相关问题。我尝试过 -R 和 -L 和 -l 选项,但没有运气。

问题是:当从本地发送目录到远程时,是否有一个选项(或选项组合)可以相对于本地目录重新定位符号链接,以便它们相对于远程计算机上的目标目录?

这是我要发送的内容的最小示例:

本地目录: /home/bob/foo

/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar

这就是我希望它如何在

远程目录: /u/apps/foo

/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar

例如,rsync -az /home/bob/foo/ remote:/u/apps/foo/不完全做到;我们最终得到:

/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar

远程机器上是否/home/bob/foo/bar存在无关紧要;无论哪种情况,结果都绝对不是我需要的。

答案1

如果链接指向绝对路径,则没有办法绕过它。您可以通过使符号链接相对来绕过它:

/home/bob/foo/a --> ./bar
/home/鲍勃/foo/酒吧

但这可能会很困难,具体取决于您生成这些链接的方式以及链接的数量。

相关内容