通过scp传输文件到多个主机

#!/usr/bin/bash
DEBUG=true
debug(){
if [ "$DEBUG" = "true" ];then
$@
fi
}
func_expect(){
expect -c "
set timeout 30;
spawn $*;
expect {
\"(yes/no)?\" {send \"yes\r\";exp_continue}
\"*ssword:\" {send \"$pass\r\";exp_continue}
#\"*~]\$\" {send \"df -h\r exit\r\";interact}
}
"
}
func_exec(){
#command="scp $1 $2@$3:."
command="scp $1 $2@$3:./agent/bin/"
debug echo '$command' : $command
func_expect $command
}
if [ $# -ne 2 ];then
echo -e "\nwrong call !\nfor eample: $0 file cfg\n"
exit 1
else
dir='.'
debug echo '$dir' : $dir

file1=$dir/$1

debug echo '$file1' : $file1

debug echo '$#': $#
cat $2 | grep -v '^#' | awk '{print $1,$2,$3,$4}' | while read type ip user pass
do
func_exec $file1 $user $ip
sleep 1
done
fi

 

$1:要传输的文件

$2:主机信息 如: ssh 127.0.0.1 user password

转载于:https://www.cnblogs.com/wcc331902579/p/5912833.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值