1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年7月6日 |
---|
#1427 in 文件系统
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