当使用 rsync --copy-links 时,rsync 会忽略符号链接名称的更改

当使用 rsync --copy-links 时,rsync 会忽略符号链接名称的更改

我们使用符号链接来创建“虚拟”文件夹/文件树,内容来自整个磁盘。实际上,我们有一个混乱的情况,脚本将通过创建指向那些原始未组织文件的符号链接来创建一个有组织的文件树,同时对文件名进行标记等。完成此操作后,我们希望将此“虚拟”文件树同步到远程服务器,因此我们使用带有参数的 rsync --copy-links

我们遇到的问题是 rsync 完全忽略符号链接名称的任何更改。例如:

mkdir export # make a dir for export
ln -s /file.jpg export/fileLink.jpg # create a link to file.jpg
rsync --copy-links -avzhs --delete export/ /tmp/rsyncExport # rsync with an export dir
ls /tmp/rsyncExport/
fileLink.jpg
# we find our file (not a symlink) with the symlink name.

到目前为止一切顺利,但如果我们更改链接名称并重新同步:

rm export/fileLink.jpg
ln -s /file.jpg export/fileLink2.jpg # create a link to file.jpg but with another name
rsync --copy-links -avzhs --delete export/ /tmp/rsyncExport # rsync again
ls /tmp/rsyncExport/
fileLink.jpg
# we find our file (not a symlink) with the old symlink name and not the new one.

显然,rsync“跟随”了链接,而文件并没有改变,所以它只是继续前进,忽略链接不同的事实。

有什么方法可以解决上述行为吗?

感谢您的帮助。

相关内容