1. 先安装expect环境
1、yum install tcl-devel
2、yum install expect
2. shell 脚本
正常情况传送完文件自动退出
#!/usr/bin/expect
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file $username@$host:$dest_file
expect {
"(yes/no)?"
{
send "yes\n"
expect "*assword:" { send "$password\n"}
}
"*assword:"
{
send "$password\n"
}
}
expect "100%"
expect eof
3. 如何使用
脚本文件 远程ip 登录帐号 登录密码 要上传的文件 远程服务器保存的文件位置
#例:web.war包从本地服务器上传到远程服务器 123.123.12.123
./expect_scp 123.123.12.123 uploadwar uploadwarpwd ./web.war /home/war/web.war