复制符号链接及其指向使用 rsync 的位置

Wei*_*Yin 12 rsync symlink

它不需要由 完成rsync,但是不必编写脚本来执行此操作会很好,并且rsync非常接近我想要的。

rsync -a( 或-l) 可以保留符号链接,并且-L可以取消引用符号链接并将其复制为普通文件/目录。但是,是否可以保留符号链接,并复制链接指向的文件/目录?

这是一个例子。假设我们有这个文件夹层次结构:

dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirB/not_this_file
dirC/file
dirC/file2
dirD/others
Run Code Online (Sandbox Code Playgroud)

当我这样做rsync -aR dirA dest(或其他事情)时,我希望这些出现在dest

dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirC/file
dirC/file2
Run Code Online (Sandbox Code Playgroud)

这可能rsync吗?谢谢你。

让我们假设可以忽略具有绝对路径或指向源目录外部的符号链接。

xen*_*ide 0

当且仅当这些都在“mydir”中并且您要将“mydir”从一个地方同步到另一个地方时,这才是可能的。Rsync 无法复制到您给它的路径之外(以下链接除外)。例如

mydir/dirA ...
mydir/dirB ...
...
Run Code Online (Sandbox Code Playgroud)