feat: 新增 disk.inode/disk.check 磁盘健康检查命令
This commit is contained in:
+88
-4
@@ -2,16 +2,26 @@
|
||||
|
||||
> 返回 [README.md](README.md)
|
||||
|
||||
看哪个目录、哪个文件最占空间。由 kopsc 内置实现,Linux、macOS、Windows 输出完全一致,
|
||||
不依赖 `du`、`sort` 或 PowerShell。
|
||||
看哪个目录、哪个文件最占空间,查看 inode 使用,一键磁盘健康检查。
|
||||
|
||||
```bash
|
||||
kopsc disk usage # 当前目录的占用排行(路径可省略)
|
||||
kopsc disk usage /var # 指定目录
|
||||
kopsc disk usage /var --depth 2 # 下钻一层
|
||||
kopsc disk usage --path /var # 用命名参数指定路径
|
||||
kopsc disk inode # 查看 inode 使用情况
|
||||
kopsc disk check # 一键磁盘健康检查
|
||||
kopsc disk check /var # 检查指定路径
|
||||
kopsc disk check --all # 检查所有挂载点
|
||||
```
|
||||
|
||||
## 命令一览
|
||||
|
||||
| 命令 | 作用 |
|
||||
| --- | --- |
|
||||
| `kopsc disk usage [路径]` | 查看目录占用排行 |
|
||||
| `kopsc disk inode [路径]` | 查看 inode 使用情况 |
|
||||
| `kopsc disk check [路径]` | 一键磁盘健康检查 |
|
||||
|
||||
## 磁盘占用排行(disk.usage)
|
||||
|
||||
`kopsc disk usage [路径]` 等价于 `du -x --max-depth=1 -h <路径> | sort -hr`:
|
||||
@@ -35,7 +45,7 @@ $ kopsc disk usage /var
|
||||
- 输出按大小降序,大小采用与 `du -h` 相同的二进制单位(1.0K、1.5M、2.0G)。
|
||||
- 末尾输出该路径的合计行。
|
||||
|
||||
## 选项
|
||||
### 选项
|
||||
|
||||
| 选项 | 说明 |
|
||||
| --- | --- |
|
||||
@@ -43,3 +53,77 @@ $ kopsc disk usage /var
|
||||
| `--depth N` / `-d N` / `--depth=N` | 列到的层数,默认 1;必须大于 0 |
|
||||
|
||||
> `--path`、`--depth` 是 kopsc 自己的选项,不是 `du` 的参数,因此可以写在任意位置。
|
||||
|
||||
## inode 使用查看(disk.inode)
|
||||
|
||||
```bash
|
||||
kopsc disk inode # 当前文件系统
|
||||
kopsc disk inode /var # 指定路径所在文件系统
|
||||
```
|
||||
|
||||
显示文件系统的 inode 使用统计。inode 耗尽会导致无法创建新文件,即使磁盘空间充足。
|
||||
|
||||
输出示例:
|
||||
|
||||
```
|
||||
Filesystem Inodes IUsed IFree IUse% Mounted on
|
||||
/dev/vda1 3276800 180432 3096368 6% /
|
||||
```
|
||||
|
||||
| 平台 | 实际执行 |
|
||||
| --- | --- |
|
||||
| Linux / macOS | `df -i` |
|
||||
| Windows | 不支持(NTFS 使用 MFT,无 inode 概念) |
|
||||
|
||||
## 一键磁盘健康检查(disk.check)
|
||||
|
||||
```bash
|
||||
kopsc disk check # 检查根目录
|
||||
kopsc disk check /var # 检查指定路径
|
||||
kopsc disk check --all # 检查所有挂载点
|
||||
```
|
||||
|
||||
一条命令完成磁盘排障,综合检查 5 项内容:
|
||||
|
||||
输出示例:
|
||||
|
||||
```
|
||||
=== 磁盘健康检查 ===
|
||||
|
||||
[1/5] 空间使用
|
||||
/dev/vda1 50G 总计 22G 已用 28G 可用 44% 使用率 ✓ 正常
|
||||
|
||||
[2/5] inode 使用
|
||||
/dev/vda1 3.2M 总计 180K 已用 3.0M 可用 5% 使用率 ✓ 正常
|
||||
|
||||
[3/5] 大文件 TOP 5(>100M)
|
||||
2.1G /var/log/syslog
|
||||
1.5G /var/lib/docker/overlay2/...
|
||||
800M /opt/app/data.db
|
||||
|
||||
[4/5] 大目录 TOP 5
|
||||
15G /var/lib/docker
|
||||
2.3G /var/log
|
||||
1.2G /opt/app
|
||||
|
||||
[5/5] 建议
|
||||
✓ 磁盘空间充足
|
||||
✓ inode 使用正常
|
||||
```
|
||||
|
||||
### 检查项目
|
||||
|
||||
| 项目 | 说明 |
|
||||
| --- | --- |
|
||||
| 空间使用 | 磁盘使用率,>80% 警告,>90% 危险 |
|
||||
| inode 使用 | inode 使用率(Unix only) |
|
||||
| 大文件 | 列出 >100M 的文件 TOP 5 |
|
||||
| 大目录 | 列出直接子目录占用 TOP 5 |
|
||||
| 建议 | 根据检查结果给出清理建议 |
|
||||
|
||||
### 选项
|
||||
|
||||
| 选项 | 说明 |
|
||||
| --- | --- |
|
||||
| `[路径]` | 要检查的路径,默认 `/` |
|
||||
| `--all` / `-a` | 检查所有挂载点 |
|
||||
|
||||
Reference in New Issue
Block a user