如何自动启动失败的服务?

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
没有评论

发表回复

Bash
如何注销工作日登录的用户?

1 前言 一个问题,一篇文章,一出故事。 今天有个使坏需求,让小孩工作日玩不了电脑。 2 最佳实践 …

Bash
如何去掉文件路径的部分?

1 前言 一个问题,一篇文章,一出故事。 笔者今天需要实现去掉一部分文件的路径,将其变成相对路径。 …

Bash
如何根据条件输出MySQL表Insert行?

1 前言 一个问题,一篇文章,一出故事。 笔者执行NextCloud的维护任务,需要从数据表中删除用 …