臨時擼一段,備份下 說不定啥時候用一下,沒有做多線程什么的,效率會低很多。偶爾用一下算是可以接受吧,畢竟一般批量的操作應(yīng)該都有中控機(jī)進(jìn)行下key。
首先準(zhǔn)備一份服務(wù)器信息文件
localhost:~ dada$ cat hostinfo
1.1.1.1 root xxxxx
2.2.2.2 root xxxxx
3.3.3.3 root xxxxx
4.4.4.4 root xxxxx
復(fù)制腳本吧
#!/bin/bash
hosts=$1
command=$2
if [ ! -e ${hosts} ]
then
echo "服務(wù)器列表文件不存在!"
exit 1
fi
if [ ! -n "${command}" ]
then
echo "無命令輸入!"
exit 1
fi
while read ipInfo
do
ipAddr=`echo ${ipInfo}|awk '{print $1}'`
userName=`echo ${ipInfo}|awk '{print $2}'`
userPass=`echo ${ipInfo}|awk '{print $3}'`
commandInfo=`sshpass -p "${userPass}" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${userName}@${ipAddr} 2>/dev/null -n "${command}"`
if [ "x$?" = "x0" ]
then
echo "${ipAddr} [SUCCESS]"
echo "${commandInfo}"
else
echo "${ipAddr} [FAIL]"
fi
done<${hosts}
下面是執(zhí)行
服務(wù)器無法連接
localhost:~ dada$ ./pass_ssh.sh ./hostinfo "free -g"
1.1.1.1 [FAIL]
服務(wù)器可以連接
localhost:~ dada$ ./pass_ssh.sh ./hostinfo "free -g"
1.1.1.1 [SUCCESS]
total used free shared buff/cache available
Mem: 47 0 45 0 1 46
Swap: 7 0 7
localhost:~ didi$