日常工作中,有些ACL不知道何时过期了,或网络增加了限制等原因,导致我们系统由于网络访问的原因突然无法使用,为了避免”灾难“发生,我们可以通过技术手段,将我们要检查的服务器IP收集起来,批量一键探活。
本文将分别使用常见的Linux服务进行探活,同时附带Windows服务器的示例脚本。
1 要探活的IP维护文件
10.44.52.71:443
10.57.24.13:443
10.57.24.13:80
10.57.24.13:8080
2 Linux服务器通过如下脚本一键批量探活
#!/bin/bash
check_telnet(){
for ip_port in $(cat ip_list|grep -v '^#')
do
CHECK_PORT=$(echo $ip_port|awk -F: '{print $2}')
CHECK_IP=$(echo $ip_port|awk -F: '{print $1}')
CURRENT_DATE=$(date +"%Y/%m/%d %H:%M:%S")
echo -e "\n" | telnet $CHECK_IP $CHECK_PORT |grep "Connected to\|Escape character" >/dev/null
if [ $? -eq 0 ];then
echo "$CURRENT_DATE $CHECK_IP $CHECK_PORT connected" >> result_success.log
else
echo "$CURRENT_DATE $CHECK_IP $CHECK_PORT can not connected" >> result_err.log
fi
done
}
#check_telnet >> result.log
check_telnet
3 Windows服务器通过如下脚本一键批量探活
@echo off
setlocal enabledelayedexpansion
set ip_list= type ip_list
for %%i in (%ip_list%) do (
set "ip=!ip! %%~i"
set /a "count+=1"
if !count! equ 2 (
start cmd /k "title Telnet Test for IP !ip! && echo Testing IP !ip!... && telnet -a !ip!"
set "ip="
set /a "count=0"
)
)
if defined ip (
start cmd /k "title Telnet Test for IP !ip! && echo Testing IP !ip!... && telnet -a !ip!"
)