43 lines
1.1 KiB
Plaintext
Executable File
43 lines
1.1 KiB
Plaintext
Executable File
#!/usr/bin/expect
|
|
set timeout -1
|
|
set local_file $env(JIANMU_LOCAL_FILE)
|
|
set remote_user $env(JIANMU_REMOTE_USER)
|
|
set remote_host $env(JIANMU_REMOTE_HOST)
|
|
set remote_port $env(JIANMU_REMOTE_PORT)
|
|
set remote_file $env(JIANMU_REMOTE_FILE)
|
|
|
|
set gateway_user $env(JIANMU_GATEWAY_USER)
|
|
set gateway_host $env(JIANMU_GATEWAY_HOST)
|
|
set gateway_port $env(JIANMU_GATEWAY_PORT)
|
|
set temp_file $env(JIANMU_TEMP_FILE)
|
|
|
|
# 上传文件到跳板机
|
|
spawn scp -P $gateway_port -r $local_file $gateway_user@$gateway_host:$temp_file
|
|
|
|
expect {
|
|
|
|
"yes/no" { send "yes\r"; exp_continue }
|
|
|
|
}
|
|
|
|
# 登录跳板机
|
|
spawn ssh -p $gateway_port $gateway_user@$gateway_host
|
|
expect {
|
|
|
|
"yes/no" { send "yes\r"; exp_continue }
|
|
|
|
"*$ " | "*# " {
|
|
# 从跳板机复制文件到目标主机
|
|
send "scp -P $remote_port -r $temp_file $remote_user@$remote_host:$remote_file\r"
|
|
expect {
|
|
"yes/no" {
|
|
send "yes\r"
|
|
exp_continue
|
|
}
|
|
"*$ " | "*# " {
|
|
send "rm $temp_file\r"
|
|
expect "*$ " | "*# " {send "exit\r"}
|
|
}
|
|
}
|
|
}
|
|
} |