欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 用shell脚本写一个通用的监听程序异常并重启脚本

用shell脚本写一个通用的监听程序异常并重启脚本

2024/11/30 20:01:01 来源:https://blog.csdn.net/t_fengyun/article/details/144082019  浏览:    关键词:用shell脚本写一个通用的监听程序异常并重启脚本

进来服务器的程序php-fpm时常在并发下时常挂掉,而且时常在凌晨2点以后,通过排查是因为php配置需要调整并发,同时,为了不影响我休息(以前老师说:能用机器和程序解决问题的坚决不用人去操作,这样才会提高效率),我增加了一个shell监听php-fpm进程,如果异常就自动重启的脚本。

图片

下面介绍一下我是如何操作的:

  1. 创建一个日志文件目录

# cd /var/log# mkdir script# cd  script

2. 创建一个日志文件

# echo "" > php-fpm-restart.log

3. 编写shell脚本,监听服务进程是否异常,异常则自动重启并写入日志

图片

vi 创建一个php-fpm.sh脚本


#!/bin/bashCURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
LOG_FILE="/var/log/script/php-fpm-restart.log"if systemctl status php8.1-fpm > /dev/null 2>&1; thenecho 'php8.1-fpm is running'echo "${CURRENT_TIME}  php8.1-fpm is running." >> ${LOG_FILE} 
elseecho 'php8.1-fpm is not running'systemctl start php8.1-fpmecho "${CURRENT_TIME}  php8.1-fpm is not running ,already restart success." >> ${LOG_FILE} 
fi

给shell脚本分配可以执行权限

chmod +x php-fpm.sh

4. 增加linux定时crontab任务 crontab -e

图片

5. 查看执行日志  cat /var/log/script/php-fpm-restart.log

图片

6. 总结这个脚本的通用性,其他程序都可以稍微改改就能使用,简单方便快捷

上面脚本只需更改需要监听的程序即可实现你需要监听的程序,比如:


#!/bin/bashCURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
LOG_FILE="/var/log/script/nginx-restart.log"if systemctl status nginx > /dev/null 2>&1; thenecho 'nginx is running'echo "${CURRENT_TIME}  nginx is running." >> ${LOG_FILE} 
elseecho 'nginx is not running'systemctl start nginxecho "${CURRENT_TIME}  nginx is not running ,already restart success." >> ${LOG_FILE} 
fi

所以上面shell脚本,根据你自身需要可以随意变通。

以上是小哥本人文章的全部内容,希望总结会帮助到各位看官。最后,小哥温馨提示:每天阅读3分钟,天天学习一点点,天天进步一点点。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com