rsync 有一个--hard-links
选项:
-H, --hard-links
This tells rsync to look for hard-linked files in the source and
link together the corresponding files on the destination. With-
out this option, hard-linked files in the source are treated as
though they were separate files.
但是,当我尝试将硬链接文件从一个卷复制到另一个卷时,我发现硬链接在目的地消失了 - 每个硬链接文件的链接数为 1(而不是 >=2)。
我用一个rsync
命令将硬链接文件复制在一起。
我是否遗漏了什么或者rsync
无法保留目的地的硬链接?
答案1
它在这里有效。正如@xenoid 在上面的评论中暗示的那样,如果目标文件系统是 FAT32 或其他不支持硬链接的文件系统,您将永远无法保留硬链接。
$ file test /tmp/test
test: directory
/tmp/test: cannot open `/tmp/test' (No such file or directory)
$ rsync -Ha test /tmp/
$ ls -li test /tmp/test
/tmp/test:
total 3
110995 -rw------- 2 james james 0 Aug 3 14:40 file1
110996 -rw------- 2 james james 0 Aug 3 14:40 file2
110994 -rw------- 1 james james 0 Aug 3 14:40 file3
110995 -rw------- 2 james james 0 Aug 3 14:40 hard-link-to-file1
110996 -rw------- 2 james james 0 Aug 3 14:40 hard-link-to-file2
test:
total 3
106655 -rw------- 2 james james 0 Aug 3 14:40 file1
106656 -rw------- 2 james james 0 Aug 3 14:40 file2
106657 -rw------- 1 james james 0 Aug 3 14:40 file3
106655 -rw------- 2 james james 0 Aug 3 14:40 hard-link-to-file1
106656 -rw------- 2 james james 0 Aug 3 14:40 hard-link-to-file2