【linux】linux定时监控和维护特定服务

来源:互联网 发布:淘宝千牛自动回复短语 编辑:程序博客网 时间:2024/05/17 23:25

以加解密服务为例,我提供加解密服务,别人调用我的服务,因Linux机器是远程的,特定环境中我根本不知道机器在哪,也不知道机器是否重启,我需要维护我的服务稳定性,我应该怎么做?

需要做两件事

1.定时任务,每分钟执行一次

----------------------------------------------------------命令----------------------------------------------------------

sudo crontab -e

* * * * * /mnt/disk/xxx/encrypt-decrypt-service-moniter.sh

--------------------------------------------------------------------------------------------------------------------

注:必须重载,否则可能不执行最新的任务。crontab最好全部附上管理员权限,这样crontab带的就是管理员权限,并且也用的是root的环境变量

sudo service cron reload重载任务(ubuntu)
/sbin/service crond reload 重载任务(redhat,centos)

2.任务内容

判断服务是否运行,没有运行就启动任务.注:脚本必须用全路径,否则可能出问题

可以在running.log里面查看最近一次正常运行的时间

可以在restart.log里面查看最近一次自动启动的时间

----------------------------------------------------------代码----------------------------------------------------------

#!/bin/sh
#监控加解密服务是否正常运行,如果没有正常运行,就开启加解密服务
flag=$(ps -aux | grep "encrypt-decrypt-1.0.0")
nowtime=`date +%Y%m%d" "%H:%M:%S`
if [[ $flag == *java* ]];then
echo $nowtime "service is good" > /data01/tool/encrypt/running.log
else
echo $nowtime "service is restart by encrypt-decrypt-service-moniter.sh" >> /data01/tool/encrypt/restart.log
setsid java -jar /data01/tool/encrypt/encrypt-decrypt-1.0.0_v1026.jar -Xmx4096m -Xms4096m -XX:NewRatio=1 -XX:SurvivorRatio=8
fi

--------------------------------------------------------------------------------------------------------------------

原创粉丝点击