家里有个黑群不稳定 总是跑着跑着就挂了 日志暂时性没有定位到问题 所以现阶段只能用最low的方式解决问题 直接重启虚拟机
所以改改抄抄写了个测试连通性的脚本 每30分钟执行一次 正好用白群定时任务 内网调用黑群ip地址 没有响应调用server酱推送消息 完美!!
# #! /bin/bash
ip="XXX.XXX.XXX.XXX"
port=XXXX
SENDKEY="XXXXXXX" # SERVER酱密钥
# # 发送消息
function sc_send() {
local text=$1
local desp=$2
local key=$3
postdata="text=$text&desp=$desp"
opts=(
"--header" "Content-type: application/x-www-form-urlencoded"
"--data" "$postdata"
)
result=$(curl -X POST -s -o /dev/null -w "%{http_code}" "https://sctapi.ftqq.com/$key.send" "${opts[@]}")
echo "$result"
}
# # 记录调用日志
function log() {
# sh脚本同级目录
local log_path="$(cd $(dirname $0);pwd)/sc_send.log"
local now=$(date "+%Y-%m-%d %H:%M:%s")
echo $(cd $(dirname $0);pwd)
echo "$now $1" >> "$log_path"
}
# 主函数
function main() {
arrFlag=(0 0 0)
flag=false
for i in {1..3}
do
responseText=$(curl -I $ip:$port)
echo $responseText
sleep 2
if [[ $responseText =~ "Failed" ]];
then
arrFlag[$i-1]=1
fi
done
for i in ${arrFlag[@]}; do
if [ $i -eq 1 ]; then
flag=true
break
fi
done
if [ $flag = true ]; then
msg="$ip:$port -异常"
ret=$(sc_send '主人DS918服务器宕机了' "$msg" "$SENDKEY")
log "$msg"
else
log "$ip:$port -正常"
fi
}
main
没有通过的话会调用server消息推送 算是能第一时间知道黑群挂了 好重启
评论 (0)