#!/bin/bash
PORT=8056
count=0
#### 要在这个脚本的平级目录新建一个txt文档放IP####
for i in $(cat /opt/sh/dkip.txt)
do
    ((count++))
    echo "count=$count"
    # 关键代码，1s自动结束telnet
    (sleep 1;) | telnet $i $PORT >> /opt/sh/quanbujieguo.txt
done
# 根据结果判断出正常可以ping通的ip
cat /opt/sh/quanbujieguo.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4 > /opt/sh/duankouzhengchang.txt
rm -f /opt/sh/quanbujieguo.txt
# 差集，得到ping不同的ip
###  soft | uniq -u 不输出相同行,把两个文件里面一样的IP放弃,剩下的就是 telnet不通的IP了###
cat /opt/sh/dkip.txt /opt/sh/duankouzhengchang.txt | sort | uniq -u > /opt/sh/duankoubutong.txt
for GG in $(cat /opt/sh/duankoubutong.txt)
do
    dkgg="服务器IP: "$GG
    ggl="检测结果: "${PORT}" 端口不通"
    if [  -n "$GG" ];then
      curl -X POST "https://api.telegram.org/bot1643559086:AAGiZrUdTedIkhN67FruNmlzP7Dho8TVcCU/sendMessage?chat_id=-543603882&text= ""${dkgg} $ggl"
    fi
done
### dkip.txt 存放IP列表 ###
### duankouzhengchang.txt  端口正常的IP地址 ###
### duankoubutong.txt    端口不通的IP地址  ###
### quanbujieguo.txt 脚本执行的所有结果  ###
###  service crond reload  刷新 crontab 定时任务配置###
### 定时任务每分钟执行一次    */1 * * * * root /opt/sh/jiankongduankou.sh    #####
