防止服务器进程突然死掉,如何制作重启进程脚本
前言:在运维工作中,往往在服务器上的进程会在意想不到的时候突然结束进程,
并且大多数都是同事反馈问题,才知道服务端进程悄无声息掉了,需要重启。
为了防止凌晨期间,服务器进程结束,引发一系列不必要的麻烦,我们可以做一个简单的小脚本,对程序进行每十秒左右的监控,查看是否正在正常运行,如果未正常运行,脚本自动重启对应的程序。
环境:centos6 +loginsvr进程
1.创建3个shell脚本文件,并赋于777权限
1. touch restart.sh #用于检测服务端进程是否正常
2. touch loginsvr.sh #用于重启相关进程
3. touch nohup.sh #用于后台执行restart.sh
4. chmod -R 777 restart.sh loginsvr.sh nohup.sh
2.脚本restart.sh,每十秒对loginsvr进行扫描一次并且输出日志
1. vim restart.sh
#!/bin/sh
while true
do
ps -ef|grep "loginsvr" | grep -v "grep"
if [ "$?" -eq 1 ]
then
./loginsvr.sh
echo