1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018 年 7 月 6 日 |
---|
#1546 在 文件系统
用于 btsdu
19KB
563 代码行
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(应通过您的发行版打包)以正确显示结果。
限制
- 显示未压缩的大小
- 不考虑重链接的文件/范围和硬链接
- 显示磁盘使用情况,只是实际数据(在 NCDu 中称为“表观大小”)。显示的磁盘和表观大小将相等。
技术
该工具使用 btrfs send
获取两个快照之间的差异,然后构建更改数据的文件级大小汇总。输出以 NCDu 显示工具理解的格式打印。
当然,您也可以使用您自己的源中的 btrfs send/receive 流转储,有关详细信息,请参阅 --帮助
。也可以不运行 NCDu,只显示底层数据。它以相当合理的 JSON 格式显示,可以进一步处理。
依赖项
~120KB