#!/bin/bash
echo "-----------dear lina,let's go----------"
n=0
i=0
j=0
for line in $(cat src_to_dst.txt)
do
if [ $[$n%2] -eq 0 ]
then
src[$i]=$line
i=$[$i+1]
else
dst[$j]=$line
j=$[$j+1]
fi
n=$[$n+1]
done
#echo "$i, $j"
fun_ssh_remote(){
echo "开始登陆服务器:$1"
src=$1
dst=$2
host=$3
password=$4
#echo "$1 $2 $3 $4"
echo “开始复制文件:源路径:$src,目的路径:$host:$dst”
/bin/expect <<-EOF
spawn scp -r $src $host:$dst
set timeout 300
expect {
"*$host's password:*" { send "$password\r" }
}
set timeout 300
send "exit\r"
expect eof
EOF
echo "文件:$src传输完毕"
}
cat host_addr.txt | while read line
do
ip=`echo "${line}" |awk -F ' ' '{print $1}'`
password=`echo "${line}" |awk -F ' ' '{print $2}'`
for count in `seq 1 $i`
do
echo "$count ${src[$count-1]} ${dst[$count-1]} $ip $password"
fun_ssh_remote ${src[$count-1]} ${dst[$count-1]} $ip $password
done
done
echo "-----文件处理结束-------"
host_addr.txt的格式为:hostname@ip(空格)密码
如:
shimai@127.0.0.1 12345678
src_to_dst.txt的格式为:源文件绝对路径(空格)复制后文件的绝对路径
如:
/root/1.txt /Users/shimai/Documents
/root/2.txt /Users/shimai/Documents