shell-scp分發資料夾下所有檔案到多臺伺服器
阿新 • • 發佈:2019-01-27
#!/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