基于Crontab开机自启动并监控进程状态

目录

1.需求描述

2.监控脚本

3.Crontab定时任务


1.需求描述

主机环境是Linux,发布的应用希望满足以下几个条件

(1) 主机断电、重启时自动重启应用

(2) 分钟级监控应用的运行状况,如果发现应用已经不存在,则自动启动进程。

 

2.监控脚本

#!/bin/sh
# manage.py是进程名称,修改为自己的即可
v_num=`ps -ef|grep "manage.py"|grep -v more|grep -v tail|grep -v grep |wc -l`
if [ $v_num -lt 2 ]
then 
date
echo "进程不存在"
ps -ef|grep "manage.py"|grep -v more|grep -v tail|grep -v grep |awk '{ print $2 }'|xargs kill -9
# 应用启动的根目录
cd /opt/LZY/web/yisheng/       
# 应用启动的命令
python manage.py runserver 127.0.0.1:8006
sleep 20
v_num=`ps -ef|grep "manage.py"|grep -v more|grep -v tail|grep -v grep |wc -l`
if [ $v_num -eq 2 ]
then 
date
echo "已恢复正常"
fi

else 
date
echo "程序正常运行,不需要重启!"
fi

自己使用的时候,注意下进程名称以及进行启动的命令,修改为自己的即可。保存上述的脚本到mon.sh文件中。

注:

如果脚本文件时windows电脑上编辑好,然后直接把文件拷贝到linux主机上的话,是会有问题的,字符串的编码有出错,需要特殊处理下。最好是直接把内容复制,然后再linux主机上,使用vi命令新增文件的方式。如果一定要拷贝文件的话,参考这个链接的解决方法。

3.Crontab定时任务

添加定时任务到Crontab中

#查看当前的crontab列表
crontab -l  
#编辑插入crontab
crontab -e

进入编辑状态后,插入如下crontab

0-59 * * * * /opt/LZY/web/yisheng/mon.sh >>/opt/LZY/web/yisheng/mon.log 

 分 时 日 月 星期  监控脚本>>输出日志

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值