rsync 链接指向新目的地

rsync 链接指向新目的地

我需要将目录结构从一个地方复制到另一个地方。我只需要复制文件夹和符号链接。

我使用命令

find $SOURCE_PATH/ \( -type l -o -type d \)  -printf "%P\0" | rsync --files-from - --from0 -av  $SOURCE_PATH $USER@$DESTINATION_SERVER:/$DESTINATION_PATH/$SOURCE_PATH

命令成功,它复制文件夹和链接。我的问题是因为链接指向旧目的地。
我的源路径是应用程序/cg/dev 和 目标路径是tmp/应用程序/cg/dev 现在我复制的链接指向 app/cg/dev/somefolder 。我需要它们指向tmp/app/cg/dev/somefolder。

在我同步所有链接后,纠正它们的好方法是如果我可以读取链接路径而不仅仅是连接我的目标路径。例子

find . -type l | while read l; do
concatenate destination folder and readlink l
done

有人可以帮我写这段代码吗?

相关内容