Я новичок в написании сценариев python, но я создал скрипт, который работает с другими устройствами в моей сети. Я пытаюсь изменить скрипт, который будет инструктировать удаленное устройство для резервного копирования его конфигурации на TFTP-сервер. Он отлично работает для моих коммутаторов 3Com, HP, но я просто добавил переключатель DLINK POE, который он умирает. Код выглядит следующим образом.Python Telnet Scripting
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
Если я подключу telnet к устройству вручную и введите команды, он будет работать и TFTP-файл на мой сервер. Ответы, когда я пытаюсь выполнить скрипт Python – user3112240