文件更改时“拆分”的硬链接

tob*_*ora 2 filesystems backup hard-link symlink

是否有可能(在经典的 ext4 和/或任何其他文件系统中)创建两个指向相同内容的文件,这样如果一个文件被修改,内容就会被复制并且两个文件变得不同?节省硬盘空间非常实用。

上下文:我在自己的云服务器上分享了一些沉重的视频,这些视频可以被很多人修改,因此有些人可能会修改/删除这些文件......我真的想确保我有一个备份这些文件,因此我现在需要维护两个目录,一个普通的 nextcloud 一个,一个“备份”目录,它(至少)是存储它所需的大小的两倍。

我正在考虑在 nextcloud 目录之上创建一个 git repo,当添加新视频时,它使备份过程变得更加容易(只是git add .),但git仍然是 blob 和工作目录之间的两倍空间。

理想情况下,可以与 git 结合使用的解决方案会很棒(即,它允许我创建视频更改的历史记录、提交、签出......而不会增加磁盘空间。

此外,我很想为各种文件系统提供解决方案(特别是如果您对不实现快照的文件系统有技巧的话)。请注意,LVM 快照并不是真正的解决方案,因为我不想备份我的完整卷,只想备份一些特定的文件/文件夹。

谢谢!

use*_*275 5

在写时复制文件系统(Btrfs、ZFS)上是。git-annex与您在 ext4 上可能获得的一样接近。请注意,您可以mount --bind在另一个文件系统中的文件夹上使用 LVM 支持的卷或 Btrfs 文件系统。