我是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