Cha*_*_99 3 linux snapshot btrfs
我已经建立了一个复杂的备份方案,包括每小时、每天、每周、每月的备份,几乎不占用设备上的额外空间(感谢 btrfs 牛文件系统的荣耀)。
但不幸的是,我用老式的方式用完了空间(通过向它复制很多东西)。
现在删除一些东西是没有用的,因为它存在于所有的快照中。为了释放磁盘空间,我必须删除所有快照,因为文件首先被复制到设备上。我不想那样做,因为
rm -f
那么如何告诉 btrfs 在所有快照中删除单个文件?实际上,这意味着将一些内部参考计数器设置为零,以便可以释放空间。
如果 btrfs 工具本身无法做到这一点(这有点短视),我也很高兴任何第三方工具可以简化在所有快照中搜索、挂载和删除文件的任务.
一种解决方法是暂时将快照设置为可写并删除它们出现的每个快照上的文件。
设置快照可写(来自如何使 btrfs 快照可写?):
btrfs property set -ts <snapshot> ro false
删除文件以释放空间,然后将其设置回只读
btrfs property set -ts <snapshot> ro true
一旦对文件的所有引用都消失了,btrfs 将检测到有更多可用空间。
不幸的是,如果您忘记了文件过去的名称,则此方法无济于事。但是您仍然可以使用Baobab或K4DirStat或du -h | sort -h
查找大文件在快照中的位置。
此外,如果您可以只挂载包含它们的目录,则不必单独挂载每个快照。
归档时间: |
|
查看次数: |
5639 次 |
最近记录: |