![困惑!用于创建硬链接的 Rsync 命令!](https://linux22.com/image/876701/%E5%9B%B0%E6%83%91%EF%BC%81%E7%94%A8%E4%BA%8E%E5%88%9B%E5%BB%BA%E7%A1%AC%E9%93%BE%E6%8E%A5%E7%9A%84%20Rsync%20%E5%91%BD%E4%BB%A4%EF%BC%81.png)
rsync --archive --one-file-system --hard-links --human-readable --inplace --numeric-ids --link-dest=/home/www.example.com/public_html/ /home/www.example.com/public_html/ /home/test.example.com/public_html/
这是我运行的命令。
我得到了这个(从测试中删除一些文件后)。
6.3G /home/test.example.com
576M /home/www.example.com
- 有问题如果对测试进行的任何编辑会影响 www?我该怎么办?
- 但我希望源是 www,这会占用空间。
- 我目前拥有的东西有什么问题吗?因为我可以删除/修改测试站点中的文件/文件夹,或者可以删除整个目录。
- 我不关心测试中发生的任何事情,但我关心 www 上发生的任何事情。
答案1
我不确定你运行后如何得到大小列表rsync
,但如果你使用了du
,请记住,它du
不会计算两次硬链接的大小。从它的手册页:
-l, --count-links
count sizes many times if hard linked
换句话说,除非您传递-l
标志,否则您将不会计算两个位置的硬链接文件的大小。
尝试解答您的问题:
- 您在 www 和 test 之间建立了硬链接。所以是的,如果您在 test 中做出更改,您将在 www 中看到这些更改。从您的问题来看,您似乎不想要硬链接。
- 您想节省空间,这很好,但您无法同时做到 a) 节省空间并只保留一份文件副本,同时 b) 让 test 和 www 中的文件具有不同的内容。这根本不可能!
如果您希望测试和 www 目录具有相同的内容,但随后进行更改,您可能只需运行命令rsync
,不要使用--hard-links
,也不要使用--link-dest
。