网站首页 > 开源技术 正文
在linux系统中,我们经常需要做一些检测操作,如:检测mysql进程状态啦、检测redis-service进程是否存在啦之类的,所以最好是有一个脚本能把这些检测操作统统都放到cron中进行定时检测,而不是我们人工去登陆服务器、查看进程状态等
# 检测nginx状态
$ cat ./check_nginx.sh
#!/bin/bash
check_num=`ps -e -o stat,ppid,pid,cmd | grep nginx | grep -v grep | grep -v check | egrep -v '^[Zz]' | wc -l`
echo 检测时间: `date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
if [[ $check_num -lt 1 ]];
then
echo 'nginx运行状态异常, 开始检测僵尸进程'
echo $check_num
check_num_z=`ps -e -o stat,ppid,pid,cmd | grep nginx | grep -v grep | grep -v check | egrep '^[Zz]' | wc -l`
if [[ $check_num_z -gt 0 ]]
then
echo '存在僵尸进程, 开始清理僵尸进程, 请保证运行该脚本的为超级用户或有权限kill该进程的用户'
if [[ $check_num_z -eq 1 ]]
then
check_num_id=`ps -e -o stat,ppid,pid,cmd | grep nginx | grep -v grep | grep -v check | egrep '^[Zz]' | awk '{print$3}'`
kill -9 $check_num_id
echo 'Kill命令执行完成.'
fi
fi
echo '开始启动php-fpm程序'
service nginx restart
echo 'nginx程序启动完成. '
else
echo '检测结果为正常运行'
fi
# 检测自定义程序的进程(此处以go编写的网站服务fram_api进行示例)
$ cat check_fram_api.sh
#!/bin/bash
check_num=`ps aux | grep fram_api | grep -v check | grep -v grep | wc -l`
if [[ $check_num = "0" ]];
then
cd /home/www/golang_myself;
./fram_api >> fram_api.log 2>&1 &
fi
猜你喜欢
- 2024-10-26 浅谈Kubernetes CRD和Operator的原理和使用方法
- 2024-10-26 笨办法学物联网之四:99个物联网动手实践项目
- 2024-10-26 Linux入门常用必会60个命令实例详解(一)
- 2024-10-26 Kubernetes任务调用Job与CronJob及源码分析
- 2024-10-26 作业帮 K8s Serverless 虚拟节点大规模应用实践
- 2024-10-26 火山引擎 Redis 云原生实践(火山引擎app)
- 2024-10-26 当 GoLand 遇到 Kubernetes:如何调试和运行 Go 程序
- 2024-10-26 Go 每日一库之 jobrunner(github每日一题)
- 2024-10-26 golang cron 定时任务(go语言定时任务)
- 2024-10-26 一起使用GO(golang) 来做一个后台管理系统系列 1 载入启动 gin 框架
你 发表评论:
欢迎- 05-14WP8.1 GDR1的NTP时间同步没有解决问题
- 05-14抑郁症与焦虑症(四):补充色氨酸,5HTP的作用
- 05-14ntp服务器多久同步一次呢
- 05-14简单三步,轻松解决NVR时间不同步问题
- 05-14Linux的300+个真实运维场景——19 NTP 配置与管理
- 05-14海康威视录像机时间不准怎么办录像机无法查看回放录像,NTP校时
- 05-14安全加倍,解密极氪001电池安全技术
- 05-14海康威视录像机NTP服务器
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)