困惑!用于创建硬链接的 Rsync 命令!

困惑!用于创建硬链接的 Rsync 命令!
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
  1. 有问题如果对测试进行的任何编辑会影响 www?我该怎么办?
  2. 但我希望源是 www,这会占用空间。
  3. 我目前拥有的东西有什么问题吗?因为我可以删除/修改测试站点中的文件/文件夹,或者可以删除整个目录。
  4. 我不关心测试中发生的任何事情,但我关心 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

相关内容