linux服务器挂掉自动重启脚本(转)

实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,若是宕机则执行咱们预设的重启脚本。python

首先咱们要向crontab加入一个新任务linux

sudo crontab -e #进入编辑状态,选用vi编辑。
 
*/1 * * * * sh /root/monitor.sh  #添加每分钟检测

我这里只是简单的设置每分钟调用一个shell脚本monitor.sh。这里能够配置的更强大,你们能够去搜索一下crontab的教程,网上有不少这类的教程。
这里须要注意的是,不少教程配置command的时候直接使用/root/monitor.sh,我设置的时候发现这样配置不会执行shell脚本,前面加上sh后就能执行了。
而后咱们开始写monitor.sh这个shell脚本。web

#! /bin/sh    
    
proc_name="run_cloudweb.py"        #进程名  
    
proc_num()                      #查询进程数量  
{  
    num=$(ps -ef | grep $proc_name | grep -v grep | wc -l)
    return $num  
}  
  
proc_num    
number=$?                       #获取进程数量  
if [ $number -eq 0 ]            #若是进程数量为0  
then                            #从新启动服务器,或者扩展其它内容。  
    cd /usr/shineonStuido/cloudweb/ 
    sudo nohup python run_cloudweb.py &  
fi

这个脚本,只是简单的检测了进程是否存在,不存在就自动重启服务器。shell

这里其实也能够扩展一下,好比对日志文件的处理以及重启时间等的记录等等。服务器

到这里就OK了,能够杀掉进程,自行测试一下啦~测试

 

若是使用ui

num=`ps -ef | grep $proc_name | grep -v grep | wc -l`

则num为字符串,return $num时会出错提示return必须为数字spa

 

转自:https://blog.csdn.net/cocos2dGirl/article/details/80492843.net

相关文章
相关标签/搜索