开发者社区> 问答> 正文

Linux脚本  -  自动检查服务是否运行 - 如没运行自动重启

一用户说,wordpress的站点,还在测试,为什么打不开,页面提示 Error establishing a database connection 了呢。登录查看,当时无mysql进程,可能当系统资源不够用时,系统强制退出了mysql数据库进程。

以下是在Debian 9 里,使用apt安装的mariadb数据库,设置了每隔三分钟检查mysql是否有运行,如没运行,自动启动。

过程:

1.数据库进程异常退出后,访问wordpress站点,提示 Error establishing a database connection 出错


2.登录到系统,执行 ps aux | grep mysql ,无mysql进程


3.执行 service --status-all ,列出当前注册为服务的名称,如有mysql服务


4.wget https://raw.githubusercontent.com/sierracircle/services-checker/master/services # 下载自动启动服务的脚本

5.chmod +x services # 添加执行权限

6.vi services # 修改脚本内容,如可将邮件通知的邮箱地址 EMAIL 修改为自己的,修改要检测的服务名 SERVICES,本例是 mysql


7.crontab -e # 添加自动化任务,每隔三分钟执行脚本 /root/services
# check on services every 3 minutes
*/3 *  * * * /root/services





8.保存后,等约三分钟,脚本自动启动mysql数据库,wordpress可以正常访问了


参考:

  • https://github.com/sierracircle/services-checker
  • https://unix.stackexchange.com/questions/108591/list-of-available-services

展开
收起
dongshan8 2018-08-24 08:14:29 2521 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载