完成此脚本,主要是为了将本地服务器上的文件同步到腾讯云跳板机,而后再中转上传到腾讯云服务器。固然这也只是初步的方案。vim
# vim /data/scripts/put_file.expbash
#!/usr/bin/expect ######################################################################## # push local server’s file to remote server # # code by rocketzhang (2015.04.20) ######################################################################## if { $argc!=6 } { send_user "Usage: push_file.exp localfile remoteip remoteport remoteuser remotepwd remotedir\n\n" exit 1 } set localfile [lindex $argv 0] set remoteip [lindex $argv 1] set remoteport [lindex $argv 2] set remoteuser [lindex $argv 3] set remotepwd [lindex $argv 4] set remotedir [lindex $argv 5] set timeout 3600 spawn /usr/bin/rsync -arvPz -e "ssh -l$remoteuser -p$remoteport" $localfile $remoteip:$remotedir expect { "password:" { send "$remotepwd\r" exp_continue } "yes/no)?" { send "yes\r" exp_continue } timeout { close break } eof { exit 0 } } exit
使用方法:服务器
/data/scripts/put_file.exp "/srv/search/searchindex/" "IP地址" "端口" "用户名" "密码" "/data/searchindex/"ssh