我可以使用 rsync 硬链接文件而不是复制它们吗?

我可以使用 rsync 硬链接文件而不是复制它们吗?

cp -l硬链接文件而不是复制它们,从而节省文件系统空间。我需要使用 rsync 而不是 cp,因为它的--exclude功能更强大。

所以我的问题是,如何让 rsync 硬链接文件而不是复制它们?显然,这是一个本地文件系统副本。我已阅读 rsync 选项的文档-H,但我不清楚这是否与 的行为相同cp -l

答案1

答案是肯定的,使用 rsync 的--link-dest选项。它只是不太明显,因为它不是像 那样的简单开/关标志cp -l,因为它需要一个路径参数。

因此,cp -l a/ b/也可以这样做:

rsync  -a  --link-dest=../a  a/  b/

请注意,目标必须是../a,因为路径是相对于目标目录的。
(因此,如果您要同步到b/c/,则路径应该是../../a。)

答案2

我一直在使用https://github.com/rsnapshot/rsnapshot很长一段时间。它确实实现了您所描述的效果。

相关内容