现在用云服务器的越来越多,职业运维 小公司里面也基本不复存在了。
大部分中小公司都只关注业务开发,对于很多必要的基础投入都选择性的忽视掉了
作为技术 对于技术储备、应用性能、服务稳定性的投入往往只能业余弥补,实在槽点太多
好了,服务挂了、不知道问题再哪儿,实质问题不是一时半会儿就能找到和解决的,关心的人也不会太多
废话不多说,恢复服务 保障业务继续运行才是最终目的
定时自动检测及重启脚本,备忘如下:
#!/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 拆分配置,主要是为解决应用多版本共存的情况)