自动检测重启nginx+php-fpm

2019-2-15 Jeen

现在用云服务器的越来越多,职业运维 小公司里面也基本不复存在了。

大部分中小公司都只关注业务开发,对于很多必要的基础投入都选择性的忽视掉了

作为技术 对于技术储备、应用性能、服务稳定性的投入往往只能业余弥补,实在槽点太多

好了,服务挂了、不知道问题再哪儿,实质问题不是一时半会儿就能找到和解决的,关心的人也不会太多

废话不多说,恢复服务 保障业务继续运行才是最终目的

定时自动检测及重启脚本,备忘如下:

#!/bin/bash
# /path/to/cronjob/serviceCheck.sh

nginxService="nginx"
nginxCmd="ps -A aux | grep nginx | grep -v grep"
if ! eval $nginxCmd;then
    echo $nginxService' not exist!try to start...'
    service $nginxService stop
    service $nginxService start
    echo 'start '$nginxService' done.'
else
    echo $nginxService' already exist.'
fi
echo $nginxService' check success.'

phpfpmService="php72-fpm"
phpfpmCmd="ps -A aux | grep php-fpm | grep \"7.2.14\" | grep -v grep"
if ! eval $phpfpmCmd;then
    echo $phpfpmService' not exist!try to start...'
    service $phpfpmService stop
    service $phpfpmService start
    echo 'start '$phpfpmService' done.'
else
    echo $phpfpmService' already exist.'
fi
echo $phpfpmService' check success.'
了解shell的,可以做一些小的订制或优化即可,完了添加到(root)定时任务列表
*/1 * * * * /bin/bash /path/to/cronjob/serviceCheck.sh > /dev/null 2>&1

治标不治本,不过也算一个方法。

备忘仅做参考

(PS: 这边的 service 与 cmd 拆分配置,主要是为解决应用多版本共存的情况)


运维 CentOS Shell

(0) (169)

发表评论: