#btrfs #快照 #磁盘 #分析器 #分析

app btsdu

btrfs快照磁盘使用分析工具

1 个不稳定版本

使用旧的Rust 2015

0.1.0 2018年7月6日

#1427 in 文件系统

GPL-2.0 许可证

26KB
742 代码行

Btrfs快照磁盘使用分析器 (btsdu)

此工具可以显示快照之间哪些文件夹数据变化最大。只需运行

btsdu -p /snapshots/old_snapshot /snapshots/new_snapshot

您将得到一个在 NCDu 界面中可导航的分解。

ncdu 1.13 ~ Use the arrow keys to navigate, press ? for help
--- /home/roman ---------------------------------------------------
                         /..
   42.5 MiB [##########] /.config
   23.2 MiB [#####     ] /.IdeaIC2017.2
   12.3 MiB [##        ] /.vscode
   10.0 MiB [##        ] /projects
    9.5 MiB [##        ] /.thunderbird
  297.3 KiB [          ] /.local
   20.0 KiB [          ] /.java
e   8.0 KiB [          ] /.bash_history
    4.0 KiB [          ] /.pulse
e 293.0   B [          ] /.bashrc

安装

使用Rust包管理器 cargo

cargo install btsdu

如果cargo的bin目录在您的路径中,您可以直接运行`btsdu`。您还需要NCDu(应包含在您的发行版中)以正确显示结果。

限制

  • 显示未压缩的大小
  • 不考虑reflinked文件/范围和硬链接
  • 显示磁盘使用情况,只是实际数据(在NCDu中称为显式大小)。显示的磁盘和显式大小将相等。

技术

该工具使用btrfs send获取两个快照之间的差异,然后构建更改数据的文件大小汇总。输出以NCDu显示工具可理解的格式打印。

当然,也可以使用来自您自己的源的自定义btrfs send/receive流转储,有关信息请参阅--帮助。也可以不运行NCDu而只显示底层数据。它以合理的JSON格式显示,可以进一步处理。

依赖项

~1.4–2.3MB
~41K SLoC