1. 程式人生 > >shell-scp分發資料夾下所有檔案到多臺伺服器

shell-scp分發資料夾下所有檔案到多臺伺服器

#!/usr/bin/expect -f
#chmod 777 distribute_file.sh
#把所有目的ip寫入ipfile.txt檔案,ipfile.txt檔案與distribute_file.sh在同一層目錄,ipfile.txt檔案中一行寫一個ip
#sh distribute_file.sh 源伺服器路徑   目的伺服器路徑
#例如:sh distribute_file.sh /home/yxl/ /home/test/test1/
#path: 源伺服器路徑 
#topath: 目的伺服器路徑

password=123456
path=$1
topath=$2

while read -r ipline
do
for line in $(ls ${path})
do
expect<<-END
spawn scp ${path}${line}

[email protected]${ipline}:${topath}
expect {
        "(yes/no)?" {send "yes\r"; exp_continue}
        "${ipline}'s password:" {send "${password}\r"}
        "Permission denied" { send_user "[exec echo "\nError: Password is wrong\n"]"; exit}
}
expect eof
exit
END
 done
done < ipfile.txt