博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下通过配置Crontab实现进程守护
阅读量:5961 次
发布时间:2019-06-19

本文共 1234 字,大约阅读时间需要 4 分钟。

我们在实际运维过程中,经常会出现某一个程序(如tomcat,perl等)的进程无缘无故就在服务器上消失了,这样的话第一我们需要投入精力去分析它为什么会消失,第二还需要配置相关检查人员,比较耗费时间。

我们可以通过在Linux下写一个shell脚本,并且配置到Crontab中,这样的话当服务器上没有程序进程的时候,让shell自动帮我们完成这个操作,将业务影响的风险降到最低,同时我们可以定期观察Crontab中输出的日志,看是否有这种情况发生,再进行针对性处理,比问题突发起来再处理好很多。

Shell内容:如果需要配置多个程序的话,将最下方注释放开即可。

#!/bin/sh# 守护脚本,通过 grep 命令检查进程是否存在然后重新启动进程# 可以配置多个进程        # 根据进程名判断进程是否消失(行数为0),红字为查询进程关键字,必须唯一        if test `ps -ef | grep 'programme name' |grep -v vi |grep -v grep| wc -l` -eq 0        then                #记录发生时间 ,记录丢失进程名                echo `date`                                        echo 'programme name  is missing.And the programme is restarting...!'                  #重新启动程序,自己配置                cd /home/inm/ueap-mysql/redis-2.6.17                src/redis-server redis.conf        fi        # 多个进程守护(配置方法与上方相同)        # if test `ps -ef | grep INASProcessManager |grep -v vi |grep -v grep| wc -l` -eq 0        # then        #         echo 'INASProcessManager is missing!'        #         echo 'INASProcessManager starting!'        #         java -jar /jh_app/inas/bin/INASProcessManager.jar >> mng.dump &        # fi

在crontab中配置上以上脚本,并记录日志:

*/3 * * * * /bin/sh /home/aiuap/esb/ueap-collect/watch.sh>>/home/aiuap/esb/ueap-collect/watch.log

转载地址:http://jrjax.baihongyu.com/

你可能感兴趣的文章
SCVMM 2012 R2---安装前的准备工作
查看>>
18岁的他从月薪2000到月薪11000经历了什么?
查看>>
27.将 VMware 服务器上的虚拟机备份到 Azure(上)
查看>>
话里话外:中小型装备制造企业竞争优势构建之路
查看>>
zabbix 监控 3com
查看>>
大数据测试之hadoop单机环境搭建(超级详细版)
查看>>
ASA防火墙外部web应用端口与默认审查协议相冲突的解决方法
查看>>
Office 365 Pro Plus 离线安装包及自定义部署工具下载地址
查看>>
windows下mysql备份脚本
查看>>
zabbix专题:第十二章 zabbix proxy分布式监控配置
查看>>
tar 命令的详解
查看>>
Android Studio第二十七期 - RecycleView不同item布局
查看>>
穷人的分布式网络
查看>>
FR-TO-FR本地交换
查看>>
Python内置容器(2)——字典,迭代器,列表解析
查看>>
那年匆匆 -大学
查看>>
Internet 打印提示“打印机安装失败、打印机名称无效”的解决
查看>>
从Powershell ***脚本学到的如何执行后台runspace~
查看>>
SCCM TP4部署Office2013
查看>>
Linux系统启动过程,grub重装。
查看>>