我是python脚本编程的新手,但我制作了一个脚本,可以与我的网络上的其他设备一起使用。我正在尝试修改一个脚本,该脚本将指示远程设备将其配置备份到TFTP服务器。对于我的3Com,HP交换机来说,它工作正常,但我只是添加了一个DLINK POE交换机而已。该守则如下。Python Telnet脚本
import getpass
import sys
import telnetlib
HOST = "10.3.5.90"
user = "admin"
password = "Password"
tn = telnetlib.Telnet(HOST)
tn.read_until("DGS-12010-10P login: ")
tn.write(user + "\r")
tn.read_until("Password: ")
tn.write(password + "\r")
tn.read_until("DGS-1210-10P> ")
tn.write("upload cfg_toTFTP tftp://10.5.5.2/DGS-1210-10P.bin" + "\r")
tn.read_until("DGS-1210-10P> ")
tn.write("logout" + "\r")
tn.close()
print "Backup Complete POE Switch"
我总是得到下面的输出并超时。我想不通,我做错了什么,因为它的工作原理与30+设备没有打嗝
Traceback (most recent call last):
File "/backup/scripts/05-POE-switch.py", line 13, in <module>
tn.read_until("Password: ")
File "/usr/lib/python2.7/telnetlib.py", line 319, in read_until
return self.read_very_lazy()
File "/usr/lib/python2.7/telnetlib.py", line 395, in read_very_lazy
raise EOFError, 'telnet connection closed'
预先感谢您对您有所帮助。
它的工作原理如果您手动远程登录设备?它是否会发出您在脚本中等待的'确切'回答? – Gerrat
如果我手动远程登录到设备并键入命令,它将起作用并将文件TFTP传输到我的服务器。答案是当我尝试执行Python脚本时 – user3112240