跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

LinuxShell自动巡检脚本_巡检方案实现

Linux Shell 自动巡检脚本的核心目标是用轻量、可靠、可维护的方式,定期检查系统关键状态,并及时反馈异常。不依赖复杂框架,纯 Bash 即可覆盖 CPU、内存、磁盘、服务、日志等高频问题点。 巡检项设计:聚焦真实风险点 避免“为巡而巡”,优先纳入以下易出问题且影响面广的指标: CPU 负载 :检查
uptime
的 15 分钟负载是否持续 > CPU 核数 × 1.5 内存使用率 :排除缓存(
free -m
中的
available
值),低于 5% 触发告警 根分区使用率 :
df -h / | awk 'NR==2 {print $5}' | sed 's/%//'
≥ 90% 即预警 关键服务状态 :如
sshd
、
nginx
或自定义服务,用
systemctl is-active --quiet 服务名
判断 异常登录记录 :检查
/var/log/secure
最近 10 分钟是否有
Failed password
突增(可用
awk '/Failed password/ && $0 ~ /$(date -d "10 minutes ago" +"%b %d %H:%M")/ {count++} END{print count+0}'
) 脚本结构:分层清晰,便于定位 一个实用的巡检脚本建议按功能拆分为三段: 配置区 :定义告警阈值、收件人邮箱、日志路径、需检查的服务列表(数组形式),方便统一维护 检测函数区 :每个巡检项封装为独立函数(如
check_disk()
、
check_sshd()
),返回 0(正常)或 1(异常) 执行与汇总区 :调用各函数,收集结果;异常时写入日志并触发邮件(可用
mail -s "告警" admin@example.com < /tmp/health_alert.log
) 自动化调度与日志留存 用
cron
实现定时运行,例如每 30 分钟一次: 通义灵码 Linux版 通义灵码 Linux版是阿里云推出的一款AI智能编码助手,专为Linux开发者设计。它支持在Linux操作系统下的JetBrains IDEs、Visual Studio Code等主流集成开发环境中运行。该工具基于通义大模型,提供代码智能生成、实时续写、单元测试生成、代码优化以及研发智能问答等功能,旨在帮助Linux用户在编码过程中提升效率。 下载
*/30 * * * * /opt/scripts/health_check.sh > /dev/null 2>&1
同时在脚本中加入日志记录逻辑: 每次运行生成带时间戳的简要日志(如
/var/log/health/health_$(date +\%Y\%m\%d_\%H\%M).log
) 异常详情追加到统一告警日志(
/var/log/health/alert.log
),保留最近 7 天 日志行首标注主机名和时间,便于多机汇总分析 轻量告警与人工介入衔接 不追求实时推送,先确保信息可查、可追溯: 默认只在发现异常时发邮件,正文含主机名、时间、具体哪项失败及原始命令输出片段 提供一键诊断入口:脚本末尾输出类似
【快速复现】运行 /opt/scripts/health_check.sh --debug 可查看详细过程
支持传参模式(如
--disk-only
)用于临时专项检查,提升排障效率

相关文章