问1:亲,请教一个问题,我这边有200台服务器,怎么看它是否在线呢?

答:简单,下载个PingInfoView直接批量ping下,能ping通的就在线,反之离线。

问2:那怎么看我这200台服务器哪些是msql或者oracle数据库服务器呢?

答:一台一台telnet端口检查,3306通的是mysql,1521通的是oracl数据库;也可以去找工具试试,不过我暂时没发现。

经过不断地寻找和测试,发现一个shell脚本可以批量telnet服务器端口,本篇文章,小编和大家分享一下。

shell脚本如下:

PORT=XXXX

count=0

for i in $(cat ip_list.txt)

do

((count ))

echo "count=$count"

# 关键代码,1s自动结束telnet

(sleep 1;) | telnet $i $PORT >> telnet_result.txt

done

# 根据结果判断出正常可以ping通的ip

cat telnet_result.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4 > telnet_alive.txt

# 差集,得到ping不同的ip

cat ip_list.txt telnet_alive.txt | sort | uniq -u > telnet_die.txt

执行步骤:

1、在Linux环境中运行,首先建文件夹如cheng,然后vim创建telnet.sh文件将上述代码复制进去,修改XXXX为实际端口号例如linux的远程端口22,保存退出。

脚本命令大全shell(干货分享shell脚本批量telnet)(1)

2、在cheng文件夹中创建ip_list.txt的文件,并输入要检查的服务器IP地址,每行一个地址。

脚本命令大全shell(干货分享shell脚本批量telnet)(2)

3、执行telnet.sh文件,等待结果。

脚本命令大全shell(干货分享shell脚本批量telnet)(3)

4、cheng文件夹目录文件介绍

shell文件夹中会新出现3个新的文件,如下:

telnet_alive.txt #端口通的地址集合

telnet_die.txt #端口不通的地址集合

telnet_result.txt #所有地址检查结果

脚本命令大全shell(干货分享shell脚本批量telnet)(4)

5、查看脚本执行结果,一般我们查看telnet_alive.txt文件即可。

脚本命令大全shell(干货分享shell脚本批量telnet)(5)

,