linux文件系统检查脚本核心目标是及时发现磁盘空间不足、inode耗尽、挂载异常或只读状态等风险,避免服务中断;关键在于精准触发、轻量执行与明确告警,而非频繁扫描。

Linux 文件系统检查脚本的核心目标是及时发现磁盘空间不足、inode 耗尽、挂载异常或只读状态等风险,避免服务中断。关键不在于频繁扫描,而在于精准触发、轻量执行、明确告警。
基础空间与 inode 实时巡检
每小时检查一次根分区及关键挂载点(如 /var、/home、/data)的使用率和 inode 使用率。不依赖 cron 每分钟轮询,而是用 df -h 和 df -i 组合提取结构化数据,过滤掉 tmpfs、devtmpfs 等虚拟文件系统。
- 空间阈值设为 85%,超过即记录日志并标记待预警
- inode 阈值设为 90%,特别关注 /var/spool/mail 或容器日志目录,小文件堆积易触发
- 跳过 LVM 快照卷、NFS 客户端挂载(除非业务强依赖),避免误报
挂载状态与只读保护识别
每次巡检必须验证 /proc/mounts 与 mount 命令输出是否一致,并检查 mount | grep -E 'ro,|,ro\b' 判断是否有意外只读挂载。重点监控数据库数据目录、应用配置挂载点。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- 若发现非预期只读(如 ext4 分区因错误自动 remount ro),立即停止写入类任务并触发人工介入流程
- 对 systemd-managed 挂载单元,补充检查 systemctl is-active xxx.mount 状态
- 记录上次正常读写时间戳,用于判断挂载是否长期失联
异常日志联动与分级告警
脚本不单独运行,需与系统日志协同。通过 journalctl -u systemd-fsck --since "1 hour ago" 或解析 /var/log/messages 中的 EXT4-fs、XFS、kernel: EXT4-fs error 关键字,识别已发生的文件系统错误。
- 仅出现 warning 级日志(如 “ext4 filesystem being remounted read-only”)→ 企业微信/钉钉推送,标注“中危”
- 检测到 I/O 错误、journal abort、corruption confirmed → 邮件+电话双通道告警,标记“严重”,附上最近 20 行相关日志片段
- 所有告警携带主机名、问题路径、当前 df 输出摘要,方便 SRE 快速定位
静默修复与自愈边界控制
脚本可尝试安全自愈,但严格限定范围:仅对非根分区、非数据库目录、且未被进程占用的 ext4/xfs 分区,在空闲时段(如凌晨 2–4 点)执行 e2fsck -n(只读检查);确认无风险后才允许加 -y 参数修复。
- 禁止对 LVM thin pool、btrfs subvolume、加密卷自动修复
- 修复前自动 umount 失败则中止,不强制 kill 进程
- 每次修复操作写入审计日志,含操作人(脚本名)、时间、分区、退出码、前后 inode/block 使用对比
不复杂但容易忽略:真正的稳定性来自对“什么不该做”的清醒认知,而非堆砌检查项。脚本要能安静跑半年不出问题,也要能在出问题时,让第一眼看到的人立刻明白发生了什么、影响在哪、下一步该做什么。










