我正在使用 Netmiko 在 Python 中编写一个脚本来自动升级 450 多个路由器。它们是 881/887、1921 和 2901 的组合。
我正在使用 Netmiko,并且已经研究了如何确定模型并复制适当的 IOS 版本。我遇到的问题是重新加载路由器。我正在尝试使用该send_command_expect
功能,但无法使其正常工作。
这是我试图实现它的方法。任何帮助表示赞赏。
import getpass
import time
from netmiko import ConnectHandler, file_transfer
host = "10.0.0.1"
u = "cisco"
p = "cisco"
source_file = "c800-universalk9-mz.SPA.155-3.M5.bin"
router = {
'device_type': "cisco_ios",
'ip': host,
'username': u,
'password': p,
}
try:
ssh_conn = ConnectHandler(**router)
print ("Connection successful\n")
except:
print ("Login failure\n")
sys.exit()
output = ssh_conn.send_command_expect('write mem')
output += ssh_conn.send_command('reload')
output += ssh_conn.send_command('\n')enter code here
以下是错误消息:
192-168-1-6:CiscoUpgrade sudarshanv$ python3 test.py
Connection successful
Traceback (most recent call last):
File "test.py", line 25, in <module>
output += ssh_conn.send_command('reload')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/netmiko/base_connection.py", line 1112, in send_command
search_pattern))
OSError: Search pattern never detected in send_command_expect: HomeRTR\#
192-168-1-6:CiscoUpgrade sudarshanv$