linux定时监控维护特定服务
以加解密服务为例,我提供加解密服务,别人调用我的服务,因Linux机器是远程的,特定环境中我根本不知道机器在哪,也不知道机器是否重启,我需要维护我的服务稳定性,我应该怎么做?
需要做两件事
1.定时任务,每分钟执行一次
----------------------------------------------------------命令----------------------------------------------------------
crontab -e
* * * * * /mnt/disk/xxx/encrypt-decrypt-service-moniter.sh
--------------------------------------------------------------------------------------------------------------------
注:必须重载,否则可能不执行最新的任务
sudo service cron reload 重载任务(ubuntu)
/sbin/service crond reload 重载任务(redhat,centos)
2.任务内容
判断服务是否运行,没有运行就启动任务.注:脚本必须用全路径,否则可能出问题
----------------------------------------------------------代码----------------------------------------------------------
#!/bin/sh
#监控服务是否正常运行,如果没有正常运行,就开启服务
flag=$(jps -l | grep "encrypt-decrypt")
if [ -n "$flag" ];then
echo "service is good,don't warry"
else
date +%Y%m%d" "%H:%M:%S >> /mnt/disk/mashangrong/restart.log
echo "service is restart by encrypt-decrypt-service-moniter.sh" >> /mnt/disk/mashangrong/restart.log
setsid java -jar /mnt/disk/mashangrong/encrypt-decrypt-1.0.0_v1026.jar -Xmx4096m -Xms4096m -XX:NewRatio=1 -XX:SurvivorRatio=8
fi
--------------------------------------------------------------------------------------------------------------------