Linux运维必备:这4个Shell脚本让你的效率提升300%
🔥 你是否也经历过这些崩溃瞬间?
- 凌晨3点被报警叫醒,手动查日志半小时才发现是磁盘满了
- 重复执行
ps -ef | grep java
查看进程状态,一天敲了20遍 - 新同事误删了关键日志,却找不到操作记录。
今天分享4个实战Shell
脚本,覆盖80%
日常运维场景,从此告别低效手工操作👇
效率翻倍脚本清单
服务器「开机自检」脚本
功能亮点:
- ✅ 开机自动生成健康报告
- ✅ 异常指标标红告警
- ✅ 可以根据自身业务情况选择微信/邮件进行通知。
该收集系统健康状态 :
- 获取 CPU 负载 (
top
)- 计算 内存占用率 (
free
)- 检查 磁盘使用情况 (
df
)- 监测 关键服务状态(
systemctl is-active
)异常指标标红
- 设定
** CPU >80%、内存 >80%、磁盘 >90% **
作为告警阈值- 超出范围时,标红显示 ❌
🚀 运行示例
请将上述脚本内容保存到一个名为 health_check.sh
的文件里。之后,您可以通过运行 bash health_check.sh
来执行这个脚本。如果一切顺利,您将会看到类似下面展示的结果。
日志「智能清理」工具
痛点解决:
- 传统
rm -rf
容易误删重要日志 - 手动清理无法精准控制时间/大小
智能清理逻辑:
find "$LOG_DIR" -type f -name "*.log" -mtime +$RETENTION_DAYS
:这个命令会在LOG_DIR
目录中查找所有.log
文件,并且这些文件的修改时间超过了RETENTION_DAYS
天。-mtime +$RETENTION_DAYS
表示查找修改时间超过 7 天的文件。-exec bash -c '...' bash {} +
:对于找到的每个文件,-exec
会执行一个 Bash 脚本。bash -c '...'
中的脚本会对每个文件执行归档操作。
进程自动监控与重启脚本
为了确保我们的服务能够平稳运行,当遇到进程意外退出的情况时,我们希望能自动监控并重启这些进程,以减少对业务的影响。这个脚本正是为此而设计的,它可以帮助我们实现这一目标。
故障「秒级定位」神器
功能演示:
使用 ./log_scan.sh
脚本,快速抓取系统与应用层错误,秒级定位问题,助力高效故障排查!
核心代码:
新手避坑指南
⚠️ Shell脚本四大死亡陷阱
- 未处理的空格路径(永远用引号包裹变量)
- 直接使用
rm -rf $VAR
(必须先检查变量非空) - 忽略错误退出码(关键操作前加set -e)
- 跨平台换行符问题(用
dos2unix
预处理脚本)
粉丝专属福利
- 关注本公众号 ✅「攻城狮成长日记」
- 后台回复关键词 「脚本链接」
- 自动获取下载链接 ⬇️
推荐阅读
- 别让更新变麻烦:Python脚本助你一键获取修复操作系统漏洞补丁包!
- 别让通配符限制你的Ansible Fetch操作,这里有破解之道!
- 如何用PAM模块加强Linux密码复杂度?一文搞定
- 一步步教你用Python构建一个网络扫描工具,快速识别网络中的设备
- 如何在成百上千台服务器上轻松部署时间同步服务?只需这份Playbook!
- 如何用Ansible自动化收集和管理服务器日志?你需要这份Playbook!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 攻城狮小林
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果