临时撸一段,备份下 说不定啥时候用一下,没有做多线程什么的,效率会低很多。偶尔用一下算是可以接受吧,毕竟一般批量的操作应该都有中控机进行下key。
首先准备一份服务器信息文件
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
复制脚本吧
#!/bin/bash
hosts=$1
command=$2
if [ ! -e ${hosts} ]
then
echo "服务器列表文件不存在!"
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}
下面是执行
服务器无法连接
localhost:~ dada$ ./pass_ssh.sh ./hostinfo "free -g"
1.1.1.1 [FAIL]
服务器可以连接
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$
网友评论