LinuxShell自动化运维案例_日常任务脚本实战【指导】

2次阅读

linux shell 脚本 自动化 运维最直接轻量的 工具,用于磁盘监控预警、日志清理、配置同步和健康巡检,强调安全确认、自动备份与分步迭代。

LinuxShell 自动化运维案例_日常任务脚本实战【指导】

Linux Shell 脚本是自动化运维最直接、最轻量的 工具。写好一个脚本,不是为了炫技,而是让重复的事少出错、省时间、可复现。

监控磁盘使用率并预警

磁盘满导致服务中断很常见,用一行命令查,不如写个脚本定时盯住它。

  • df -h | awk ‘$5+0 > 85 {print $1, $5}’ 筛出使用率超 85% 的分区
  • 搭配 mail -s “ 磁盘告警 ” admin@example.com 发邮件(需配置本地 mailx 或 msmtp)
  • 加个时间戳和日志记录:echo “$(date): $(df -h | grep ‘/$’ | awk ‘{print $5}’)” >> /var/log/disk-check.log

批量清理 N 天前的日志文件

日志不清理会悄悄吃光空间,但删错目录又很危险——脚本要带确认和白名单机制。

  • 先限定范围:find /var/log -name “*.log” -type f -mtime +7 查 7 天前的 log 文件
  • 加上 -delete 前务必先用 -print 预览,或重定向到临时文件人工核对
  • 推荐加保护逻辑:[[“$(basename “$dir”)” == “nginx” ]] && find “$dir” …,只处理指定目录

自动同步配置并校验一致性

多台服务器配同一个服务(如 nginx),手动同步易漏,脚本可统一推 + 校验 + 回滚。

  • rsync -avz –delete /etc/nginx/ user@host:/etc/nginx/ 推送配置
  • 推送后执行 ssh user@host ‘nginx -t’ 检查语法,失败则退出并报警
  • 关键步骤前用 cp /etc/nginx/nginx.conf{,.bak.$(date +%s)} 自动备份

简易服务健康巡检脚本

不只是看进程在不在,还要看 端口 通不通、响应快不快、关键进程 线程 数是否异常。

  • 检查 端口nc -z localhost 80 && echo “OK” || echo “FAIL”
  • 测响应时间:curl -o /dev/null -s -w “%{time_total}n” http://localhost/health | awk ‘$1 > 2 {exit 1}’
  • 查关键进程线程数:ps -T -p $(pgrep nginx) | wc -l,超阈值就发通知

脚本越短越容易维护,越贴近真实任务越有用。别追求一步到位,从一个 df + mail 开始,跑通、加日志、再扩展,运维自动化就是这么长出来的。

站长
版权声明:本站原创文章,由 站长 2025-12-21发表,共计1023字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources