文章目录
- 前言
- 背景
- 一、curl服务可用验证
- 二、服务探测脚本
- 三、配置系统定时任务
- 四、Linux特殊字符转义
- 总结
前言
请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、
提示:以下是本篇文章正文内容,下面案例可供参考
背景
当服务假死情况下,导致服务不可用,一时间定位不到服务假死原因,可以采用临时应急方案,需要增加探测机制,定时拉起重启服务。
一、curl服务可用验证
注:curl请求地址包含特殊字符时,需要将特殊字符转义,curl字符转义移步第四步
curl  http://127.0.0.1:8088/GetResult.json?userName=superAdmin%26password=sadmin_secret_pw -d '{"id":100897}'
首先,正常运行情况下,适用下述curl指令可以正常返回结果:
 
二、服务探测脚本
编写shell脚本如下:
#!/bin/bash
#      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#      + 1、此脚本为服务监控脚本,与系统定时任务配合使用    
#      + 2、执行crontab -e进入监控任务配置,配置探测脚本执行时间      
#      + 3、创建此脚本后请赋予可执行权限chmod +x chk_service.sh
#      + 4、普通用户执行docker需要sudo 权限,在执行命令前先设置普通用户密码 !!!          
#      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#获取当前时间
DATE=`date +%Y%m%d`
#检测地址
httpCode=`curl -s -o /dev/null -w "%{http_code}" -X POST -d '{"id":100897}' "http://127.0.0.1:8088/GetResult.json?userName=superAdmin&password=sadmin_secret_pw"` 
#服务端口
ports=8088
#检查服务是否正常
function checkService()
{
echo "执行时间: $(date +%Y'-'%m'-'%d' '%H':'%M':'%S) "
if (( "$httpCode"=="200" ));then
        echo "*************************"
        echo "检测服务正常运行服务可用!"
		exit
else
        echo "*************************"
        echo "检测服务不可用!"
        echo "重启检测服务...预计两分钟"
        echo "admin123" | sudo -S docker restart 09a380a14b7f
        sleep 30s
		status=`netstat -nltp|grep ${ports}|grep -v "grep"`
		if [ -z "${status}" ];then
		  echo "docker检测服务重启失败..."
		  echo "再次重启docker检测服务..."
		  echo "admin123" | sudo -S docker restart 09a380a14b7f
		  exit
		else
		  echo "docker检测服务重启完成..." 
		  exit
		fi		
fi
}
checkService	#调用函数
三、配置系统定时任务
监控脚本写完之后,便是把该脚本加入到crontab监控任务中了。该过程可以去查看crontab定时任务。我这个设置的是每一分钟执行一次,就是一行指令:先执行crontab -e进入监控任务配置文件位置:
#查看监控任务
crontab -e
#配置任务
*/1 * * * * cd /root && sh cront_check.sh >> /root/cront.log
查看效果
 
四、Linux特殊字符转义
友情提示:在url中直接使用特殊符号会截断命令让命令失去原本意义.,所以我们需要编码转义特殊符号
| 字符 | URL编码值 | 
|---|---|
| 空格 | %20 | 
| " | %22 | 
| # | %23 | 
| % | %25 | 
| & | %26 | 
| ( | %28 | 
| ) | %29 | 
| + | %2B | 
| , | %2C | 
| / | %2F | 
| : | %3A | 
| ; | %3B | 
| < | %3C | 
| = | %3D | 
| > | %3E | 
| ? | %3F | 
| @ | %40 | 
| \ | %5C | 
| | | %7C | 
总结
我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!








![[答疑]经营困难时期谈建模和伪创新-长点心和长点良心](https://img-blog.csdnimg.cn/img_convert/b069adfbb8e4c559e3a1d5585483baf8.png)










