Shell 脚本--检测网络连通性
-
变量:NET 表示网段,
LOG_FILE 表示日志文件名
-
循环遍历 IP 地址, ping 命令测试 IP 的连通性, 然后根据 $?是否等于 0 进行条件判断
#!/bin/bash
NET=10.0.0
LOG_FILE=ping_net.logecho -e "\e[1;32m开始测试网络连通性......\e[0m"
for i in {1..254}; do
ping -c 1 -W 1 ${NET}.${i} &> /dev/null
if [ $? -eq 0 ]; then
echo "$(date +"%F %T") ${NET}.${i} is UP,网络连接成功" >> ${LOG_FILE}
else
echo "$(date +"%F %T") ${NET}.${i} is DOWN,网络连接失败" >> ${LOG_FILE}
fi
doneecho -e "\e[1;32m测试完毕,结果已保存到 ${LOG_FILE}!\e[0m"