Bash
1 前言
一个问题,一篇文章,一出故事。
今天遇到一个内部服务异常退出,我们希望有个守护进程每隔5分钟检查该服务的状态,如果是非正常运行状态则自动启动该服务。
2 最佳实践
2.1 创建脚本
vim ~/scripts/autoStartXXX.sh
加入如下配置,
#/bin/bash serviceName="XXX" logFile="/var/log/autoStart-$serviceName.log" serviceStatus=$(/usr/bin/systemctl status $serviceName.service | grep 'active (running)' | wc -l) if [ $serviceStatus = 0 ]; then /usr/bin/systemctl start $serviceName.service echo "$(date) $serviceName service error, Has been automatically restart!" | tee $logFile fi
2.2 设置服务自动启动
*/5 * * * * bash ~/scripts/autoStartXXX.sh
没有评论