一个网友反馈批量在腾讯云购买的服务器10台部分连接失败!!这里连接失败特指使用服务器秘钥的方式登录失败。我这边也模拟用户的场景复测了一下一次性购买20台服务器,大概思路:
这里拆分两块来完成,分别是检测端口是否工作正常和通过秘钥方式来模拟登录服务器。
如何批量检测这些服务器端口是否正常是摆在眼前的一个问题,当然检测服务器端口是否正常有很多方式,哪种是最快的让我想到以下方式推荐大家。
首先下载nc (或叫netcat)
yum install nc
编辑以下Shell脚本。
#!/bin/bash
port=80
while read line
do
if nc -z -w1 $line $port ;then
echo $line $port "ok"
else
echo $line $port "fail"
fi
done < iplist
nc 命令的参数解释:
也可以写成一行
if nc -z -w1 ip 80 ;then echo "ok"; else echo "fail"; fi
将要测试的IP放到ipList文件中,然后执行脚本效果如下。
这里可以使用expect脚本来实现,脚本如下
#!/usr/bin/expect
set timeout 3
set host [lindex $argv 0]
set command [lindex $argv 1]
spawn ssh -i djangowang.pem root@$host $command
expect "*connecting"
send "yes\r"
interact
参数解释
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。