我希望 rsync 将符号链接复制到在 cmdline 上指定为 dirs 的目录,但将复制的树中的所有符号链接按原样保留find -H
,但唯一的方法是讨厌的 hack
rsync -aR --rsync-path='cd /sender/parent/dir/of/tree; rsync' symlinkeddir/ target
问题在于,这成为我的 rsync 备份脚本中的一个例外,仅适用于这一组路径,因此我无法使用相同的命令(或更严格地说,只是 ONE rsync
)来执行我想要的操作。find -H
-类似的行为会做得很好。 :/
答案1
如果somelink
是目录的符号链接somedir
,则
rsync -a somelink/. target/
somedir
将的内容复制到target
.
如果您只有保留在源代码中的相对符号链接,那么您可以使用
rsync -a --copy-unsafe-links somelink target/
如果您想保留目标内部的符号链接路径,我认为仅使用 rsync 无法完成您想要做的事情。您可以使用 rsync 加上一些 shell 代码来完成此操作:循环源,并显式指定目标子目录。
mkdir -p target/somelink
rsync -a somelink/. target/somelink