写个shell脚本判断IP,不通输出到日志文件

#!/bin/bash

# 定义需要检查的 IP 地址列表

# 定义日志文件名和路径
log_file="/root/ip_check.log"

# 遍历 IP 地址列表
for ip in 172.16.31.{200..254}
do
    # 尝试连接 IP 地址
    if ping -c 1 -W 1 "$ip" > /dev/null 2>&1
    then
        echo "$ip is up"
    else
        echo "$ip is down"
        echo "$(date): $ip is down" >> "$log_file"
    fi
done

#!/bin/bash

# 定义要扫描的网段
subnet="172.16.31"

# 循环遍历 IP 地址
for addr in {200..254}; do
  # 构造完整 IP 地址
  ip="$subnet.$addr"
  # 发送 Ping 请求并获取返回值
  ping -c 1 $ip > /dev/null
  status=$?
  # 根据返回值判断主机是否在线
  if [ $status -eq 0 ]; then
    echo "Host $ip is online."
  else
    echo "Host $ip is offline."
  fi
done

发表评论

后才能评论