使用Expect脚本实现SCP自动远程传输
本文介绍如何利用Python结合Expect脚本实现SCP文件的自动远程传输。通过解析命令行参数获取源路径、目标路径及密码,脚本自动处理SSH连接确认与密码输入,无需人工干预即可完成文件上传,适用于批量自动化运维场景。
本文提供一段基于Python调用Expect脚本实现SCP自动远程传输的实例代码。
具体实现代码如下所示:
#!/usr/bin/expect
if {$argc!=3} {
send_user "Usage: $argv0 {path1} {path2} {Password}\n\n"
exit
}
set path1 [lindex $argv 0]
set path2 [lindex $argv 1]
set Password [lindex $argv 2]
spawn scp ${path1} ${path2}
expect {
"Password:" {
exec sleep 1
send "${Password}\r"
}
"*continue connecting*" {
exec sleep 1
send "yes\r"
expect "*Password:" {
exec sleep 1
send "${Password}\r"
}
}
}
expect "*"
send "exit\r"
expect "*closed*"
#send "exit\r"
#expect "*"
#exit
#exec sleep 10
感谢阅读,希望这段代码能对大家有所帮助,谢谢各位对本站的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













