nas定时任务监测端口状态
nas定时任务监测端口状态
浮川的小窝

nas定时任务监测端口状态

面壁人浮川
2023-09-19 发布 / 正在检测是否收录...

SW-mojo-blog-header-how to ping and other skype etiquette.webp


家里有个黑群不稳定 总是跑着跑着就挂了 日志暂时性没有定位到问题 表情 所以现阶段只能用最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消息推送 算是能第一时间知道黑群挂了 好重启

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏

评论 (0)

取消