对于运维工程师、SRE 或是自己折腾服务器/NAS 的极客朋友来说,定期对服务器进行“体检”是必不可少的日常工作。
但在实际操作中,我们常常遇到以下尴尬:
systemctl / yum,CentOS 6 走 chkconfig,Ubuntu 用 apt,Alpine 用 apk,脚本跨系统跑起来各种报错;top、df -h、free -m、dmesg,然后再复制粘贴到 Word/Excel 调整排版,费时费力;为了解决这些痛点,我今天推荐一款面向运维与 SRE 的 **Linux 一键巡检脚本——Linux_Auto_Inspection**。
脚本采用 纯原生 Bash 编写(仅需 Bash 4.0+),不需要安装任何 Python、PowerCLI 或第三方包。不管是刚开的干净 VPS、内网隔离服务器,还是 Alpine 轻量容器环境,拉下来就能跑!
自动吃透了主流 Linux 的异构差异:
经过重构优化,常规巡检从过去的 1 分钟缩短至 8~15 秒 左右,同时对系统资源占用极低,绝不影响生产业务。
生成的报告摈弃了浮夸的视觉,采用干净清爽的工程师/Token Insight 风格:
脚本从底层硬件到上层服务进行全方位“体检”,涵盖以下 17 大类核心指标:
| 1. 主机基本信息 | |
| 2. CPU 与负载 | |
| 3. 内存与 Swap | |
| 4. 磁盘与 Inode | |
| 5. 磁盘 I/O 性能 | |
| 6. 大文件排查 | |
| 7. 文件描述符 | |
| 8. 网络状态 | |
| 9. 异常进程 | |
| 10. 安全基线 | |
| 11. 定时任务 | /etc/cron.d/ 隐藏任务扫描 |
| 12. 关键服务 | systemd / sysvinit / chkconfig 状态 |
| 13. 容器引擎 | Docker |
| 14. 内核参数 | |
| 15. 系统更新 | |
| 16. 日志与 OOM | |
| 17. NTP 与证书 |
在目标 Linux 服务器上,直接执行以下任意一种方式即可:
# 方式 1:一键流(curl 拉取直接跑)curl -sL https://raw.githubusercontent.com/Aidan-996/Linux_Auto_Inspection/main/linux_inspect.sh | bash# 方式 2:单文件下载执行(推荐)wget -O linux_inspect.sh https://raw.githubusercontent.com/Aidan-996/Linux_Auto_Inspection/main/linux_inspect.shchmod +x linux_inspect.sh./linux_inspect.sh如果你是在隔离内网或磁盘极大的生产环境中运行,可以使用参数进一步提速:
# 极速模式:跳过大文件扫描、系统更新检查与 SSL 检查(适合内网环境)./linux_inspect.sh --fast# 自定义报告输出路径./linux_inspect.sh -o /data/reports/server_check.html# 输出 JSON 格式(方便集成至自动化运维平台/CMDB)./linux_inspect.sh -f json小贴士: 如果脚本在 Windows 下编辑后上传到 Linux 提示
syntax error,可用以下命令一键修好换行符:sed -i 's/\r$//' linux_inspect.sh
写一个简单的 Shell 脚本不难,但写一个能跑在几千台不同版本服务器上的脚本极难。Linux_Auto_Inspection 在细节上做了大量降级逻辑(Fallback):
systemctl,不存在则自动降级到 service,再降级到 /etc/init.d/;/etc/os-release -> kylin-release -> redhat-release -> debian_version 等 10 多种标识文件;chronyc、ntpq、ntpstat、timedatectl 及 ntpctl,任一接口响应即识别;firewalld、ufw、nftables、iptables 及 SuSEfirewall2。
无论你是需要对几十上百台服务器进行批量体检的 SRE / 运维工程师,还是管理自己家庭实验室、NAS 服务器的 折腾玩家,Linux_Auto_Inspection 都能帮你节省大量重复体力劳动,输出专业漂亮的巡检报告。
GitHub 地址:/Aidan-996/Linux_Auto_Inspection
求点赞

求分享

求喜欢
