Tiếp nối theo Series Python for Networking - Part 1, hôm nay chúng ta sẽ có 1 bài thực hành về python kết hợp với Netmiko
Yêu cầu:
- Viết file python kết nối tới nhiều switch cisco, backup cấu hình với câu lệnh "show run" và tự động trích xuất ra file text
- Đã tham khảo Part1 - Nếu chưa bạn có thể truy cập Tại Đây
Bước 1: Tạo file và chỉnh sửa file
- Tạo file [hosts_of_switch_layer2.txt] file sẽ chứa IP address của những thiết bị
Ảnh tạo file host.txt với IP của thiết bị |
CHÚ Ý: Mỗi địa chỉ IP cách nhau bằng xuống dòng
2. Tạo file python và chèn code bên dưới
# Import program dependencies
from netmiko import ConnectHandler
import getpass
# Read from a list of hostnames to connect to
hosts = open('hosts_of_switch_layer2.txt','r')
hosts = hosts.read()
hosts = hosts.strip().splitlines()
# Get UserName and password from input
userName = input('Username: ')
passWord = getpass.getpass()
# Loop to process hosts in hosts.txt file
for host in hosts:
# Define device type and connection attributes
Brocade_ICX = {
'device_type': 'cisco_ios',
'ip': host,
'username': userName,
'password': passWord
}
# Netmiko SSH Connection Handler
net_connect = ConnectHandler(**Brocade_ICX)
#open file to write command output
file = open(host + '_output.txt', 'w')
# Execute commands
output = net_connect.send_command('skip-page-display')
output = net_connect.send_command('show run')
# Print output to console screen
print('-------------- Output from ' + host + ' successful ------------------')
#print(output)
#print()
print()
# Write output to file above
file.write(output)
file.close()
Ảnh code thực hiện yêu cầu |
Bước 2: Thực thi và kiểm tra kết quả
- Thực thi file
Ảnh file được xuất ra đúng với yêu cầu |
=================== Good Luck =================