课程章节: 第2章 shell编程基础:2-18 Shell脚本实战(一)(课程链接:https://coding.imooc.com/lesson/549.html#mid=50276)
主讲老师: 沈奇才
课程内容:shell编程实战与Linux运维基础--初始shell编程
课程收获:
实战:监控服务进程是否存活,如果不在则重启(主要思想:循环监测),例如监控nginx服务:
按照nginx服务:
yum install nginx
安装之后修改配置:
cd /etc/nginx
vi nignx.cgf ,里面的用户默认是nginx,要修改为root
起服务部:
systemctl start nginx
查看nginx状态:systemctl status nginx 或者查看nginx进程:ps -ef|grep nginx (存在2个进程:master进程和worker进程),去掉干扰项grep -v 干扰项
#! /bin/bash
##通过进程判断nginx
##通过请求80端口curl命令
check_nginx(){
ps -ef|grep "/user/sbin/nginx"|grep -v grep > /dev/null ##屏蔽无效日志
###if [ $? -eq 0 ]
return $?
}
while ls > /dev/null
do
sleep 1
if check_nginx; then
echo "nginx 存在,休息1秒"
continue ##注意学会使用
fi
echo "启动nginx...."
systemctl start nginx
sleep 1
if check_nginx; then
echo "重新启动nginx成功"
continue ##注意学会使用
fi
echo "nginx无法启动,请检查配置"
break ##注意要学会使用
done
截图: