rsync 复制根文件夹中的符号链接文件,而不在根文件夹中递归复制符号链接

rsync 复制根文件夹中的符号链接文件,而不在根文件夹中递归复制符号链接

我正在尝试设置一个用于复制符号链接文件夹数据的脚本,我的想法是设置一个文件夹并在此文件夹中创建多个符号链接,然后 rsync 将在这些目录中复制数据:

/backups/local/
/backups/local/etc # symlink to /etc/
/backups/local/var  # symlink to /var/
/backups/local/home # symlink to /home/

当复制文件时,这成为一个问题和担忧 - 现在我必须担心进一步的其他符号链接。我希望看到发生的是,它只处理根目录符号链接以复制下一个目录,但在/etc/ /var/或中找到的任何符号链接/home/也不会被复制。

为了测试,我将另一个符号链接放入as/etc/内部,并使用我尝试的所有选项,它每次都会复制及其完整文件内容。/home//home/etc/home/etc/

我发现并尝试了以下选项,认为这些选项可能就是我正在寻找的:

rsync -avz -L [options] # i knew this would copy everything and it did.
rsync -avz -L --copy-unsafe-links [options] # copies all symlinks recursively still.
rsync -avz --copy-unsafe-links [options] # still copies all symlinks file/contents recursively

我尝试了 --copy-unsafe-links 选项,因为它在手册页中说根符号链接被认为是不安全的,所以我想它可能只会复制根符号链接。

答案1

-a那是因为您使用了记住选项-a = -rlptgoD并且您看到该选项-l --links已激活,请尝试以下操作:

rsync -vzrptgoD -L SRCFOLDER DSTFOLDER

相关内容