通过SCP命令将本地文件与远程文件互传,依赖expect软件。
#!/usr/bin/expect
# 文件名 : scp.sh
# 作 者 : Lotomer
# 时 间 : 2020-05-27
# 功 能 : scp文件复制
# 版 本 : 1.0
# 示 例 :
# 1) ./scp.sh root@10.xx.xx.xx:~/test.log /data/ 22 password1 password2
# 2) ./scp.sh /data/test.log root@10.xx.xx.xx:~/ 22 password1 password2
# ----------------------------------------
# 版本号 更新时间 更新说明
# 1.0 2020-05-27 初版
# ----------------------------------------
set timeout -1
set srcFile [lindex $argv 0]
set destFile [lindex $argv 1]
set sshPort [lindex $argv 2]
set pwd [lindex $argv 3]
set pwd2 [lindex $argv 4]
spawn scp -r -P $sshPort $srcFile $destFile
expect {
"*yes/no*" {send "yes\r";exp_continue}
"*password:" { send "$pwd\r"; set pwd [exec echo $pwd2];exp_continue }
}