综合实战:Nginx 运维脚本
原创2026/3/18小于 1 分钟
本章我们将编写一个完整的 Nginx 状态监控脚本。
脚本功能描述
- 检查 Nginx 是否正在运行。
- 如果挂掉,尝试重新启动。
- 记录重启时间到日志文件。
完整代码
#!/bin/bash
# 定义变量
NGINX_PATH="/usr/local/nginx/sbin/nginx"
LOG_FILE="/var/log/nginx_monitor.log"
# 定义检查函数
check_nginx() {
# 统计 nginx 进程数量
count=$(ps -ef | grep -v grep | grep nginx | wc -l)
if [ $count -eq 0 ]; then
echo "$(date +'%Y-%m-%d %H:%M:%S') - Nginx 已停止,正在尝试重启..." >> $LOG_FILE
$NGINX_PATH
# 再次检查启动结果
if [ $? -eq 0 ]; then
echo "重启成功。" >> $LOG_FILE
else
echo "重启失败,请检查配置!" >> $LOG_FILE
fi
else
echo "Nginx 运行正常。"
fi
}
# 执行检查
check_nginx生产建议
可以将此脚本加入 crontab 定时任务,实现每分钟自动巡检:* * * * * /bin/bash /root/scripts/nginx_check.sh
至此,本章节的学习就到此结束了,如有疑惑,可对接技术客服进行相关咨询。