#!/bin/sh
cp /dev/null failed.log
cp /dev/null success.log
total=$(cat list | wc -l)
curr=0
path=/opt/cv_install.tar.gz
while read ip password
do
curr=$(($curr + 1))
echo `date`"=====================================[total $total,current $curr]Begin to process $ip ....\n"
if [ "$ip" != "" ]; then
ping -c 1 $ip > /dev/null
ret=$?
if [ $ret -eq 1 ]; then
printf "%03d: %s\r\n" $iCount "ping $ip Failed,please check the network!"
echo `date`"ping $ip fail" >> failed.log
else
expect -c "set timeout 20
set passwderror 0
spawn scp $path $ip:$path
#spawn ssh -o ConnectTimeout=3 root@$ip \"$shell\"
expect {
\"*assword:*\" {
if { \$passwderror == 1 } {
puts \"passwd is error\"
exit 2
}
set timeout 1000
set passwderror 1
send \"$password\r\"
exp_continue
}
\"*es/no)?*\" {
send \"yes\r\"
exp_continue
}
timeout {
puts \"connect is timeout\"
exit 3
}
}"
if [ $? -ne 0 ]; then
echo `date` "copy to $ip fail" >> failed.log
else
echo `date` "copy to $ip success" >> success.log
fi
fi
fi
done < list
shell批量烤包 scp
最新推荐文章于 2021-08-05 02:58:56 发布