灌水唠嗑区
其他
文章

测试网络连通性脚本

发表于2025-04-01 10:27:2131次浏览1个评论
#!/bin/bash

# 配置文件路径
CONFIG_FILE="ip_list.txt"

# 检查配置文件是否存在
if [ ! -f "$CONFIG_FILE" ]; then
    echo "配置文件 $CONFIG_FILE 不存在。请创建该文件并添加IP地址。"
    exit 1
fi

# 设置要ping的次数
COUNT=4

# 初始化计数器
total=0
success=0
fail=0
failed_ips=()

# 读取配置文件并逐行处理
while IFS= read -r ip
do
    # 跳过空行和注释(以#开头的行)
    [[ "$ip" =~ ^#.*$ || -z "$ip" ]] && continue

    echo "正在测试 IP/域名: $ip"
    # 执行ping命令
    ping -c "$COUNT" "$ip" > /dev/null 2>&1

    if [ $? -eq 0 ]; then
        echo "$ip 连通性正常"
        ((success++))
    else
        echo "$ip 连通性异常"
        ((fail++))
        failed_ips+=("$ip")
    fi

    ((total++))
done < "$CONFIG_FILE"

echo "========================================="
echo "总共测试了 $total 个地址"
echo "连通的有 $success 个"
echo "不通的有 $fail 个"
if [ "$fail" -gt 0 ]; then
    echo "不通的IP/域名列表:"
    for failed_ip in "${failed_ips[@]}"; do
        echo "- $failed_ip"
    done
fi
echo "========================================="

评论

登录后才可以发表评论
崔哥发表于 3个月前
春风倚棹阖闾城,水国春寒阴复晴。细雨湿衣看不见,闲花落地听无声。日斜江上孤帆影,草绿湖南万里情。东道若逢相识问,青袍今已误儒生。