当前位置:论坛首页 > Linux面板 > 求助

【已完成】求个Nginx和MySQL的守护脚本

发表在 Linux面板2022-4-26 09:11 [复制链接] 3 3400

求个Nginx和MySQL的守护脚本,最近一个月,Nginx不定期突然挂了2次,有时候是凌晨,今天数据库也突然挂了一次

环境配置:服务器物理机,32核128G内存1TB NVME,日PV千万,Nginx 1.21,PHP7.4,MySQL8.0
使用道具 举报 只看该作者 回复
发表于 2022-4-27 09:43:16 | 显示全部楼层
又修改了一下,运行好像正常,分享给大家,有错误的话欢迎指正
  1. #! /bin/bash
  2. nginx_procnum=`ps -ef | grep "nginx" | grep -v grep | wc -l`
  3. mysql_procnum=`ps -ef | grep "mysqld" | grep -v grep | wc -l`
  4. redis_procnum=`ps -ef | grep "redis" | grep -v grep | wc -l`
  5. memcached_procnum=`ps -ef | grep "memcached" | grep -v grep | wc -l`
  6. if [ $nginx_procnum -eq 0 ]
  7. then
  8. echo "nginx starting..."
  9. /etc/init.d/nginx start
  10. elif [ $mysql_procnum -eq 0 ]
  11. then
  12. echo "mysql starting..."
  13. /etc/init.d/mysqld start
  14. elif [ $redis_procnum -eq 0 ]
  15. then
  16. echo "redis starting..."
  17. /etc/init.d/redis start
  18. elif [ $memcached_procnum -eq 0 ]
  19. then
  20. echo "memcached starting..."
  21. /etc/init.d/memcached start
  22. else
  23. echo "running well"
  24. fi
复制代码


使用道具 举报 回复 支持 反对
发表于 2022-4-26 11:14:15 | 显示全部楼层
自己写了一份,运行好像正常,有大佬帮忙看看吗???
  1. #! /bin/bash
  2. nginx_procnum=`ps -ef | grep "nginx" | grep -v grep | wc -l`
  3. mysql_procnum=`ps -ef | grep "mysqld" | grep -v grep | wc -l`
  4. redis_procnum=`ps -ef | grep "redis" | grep -v grep | wc -l`
  5. memcached_procnum=`ps -ef | grep "memcached" | grep -v grep | wc -l`
  6. if [ $nginx_procnum -eq 0 ]
  7. then
  8. echo "nginx starting..."
  9. /etc/init.d/nginx start
  10. elif [ $mysql_procnum -eq 0 ]
  11. then
  12. echo "mysql starting..."
  13. /etc/init.d/mysqld start
  14. elif [ $redis_procnum -eq 0 ]
  15. then
  16. echo "redis starting..."
  17. /etc/init.d/redis start
  18. elif [ $memcached_procnum -eq 0 ]
  19. then
  20. echo "memcached starting..."
  21. /etc/init.d/memcached start
  22. fi
复制代码


使用道具 举报 回复 支持 反对
发表于 2022-4-27 10:35:57 | 显示全部楼层
仅供参考:
  1. pids=$(ps -ef | grep -E "nginx" | grep -v grep)
  2. if [ "$pids" == "" ];then
  3.         echo "starting...."
  4.         /etc/init.d/nginx start
  5. fi

  6. pids=$(ps -ef | grep -E "myqsld" | grep -v grep)
  7. if [ "$pids" == "" ];then
  8.           echo "starting...."
  9.          /etc/init.d/mysqld start
  10. fi
复制代码


使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表