-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10configBackup.py
86 lines (73 loc) · 2.03 KB
/
10configBackup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import netmiko
from time import time
username = 'admin'
password = 'Netsys'
devices = {
"SW1":{
"device_type":"cisco_ios",
"ip":"192.168.1.1",
"username":username,
"password":password
},
"SW2":{
"device_type":"cisco_ios",
"ip":"192.168.1.2",
"username":username,
"password":password
},
"SW3":{
"device_type":"cisco_ios",
"ip":"192.168.1.3",
"username":username,
"password":password
},
"SW4":{
"device_type":"cisco_ios",
"ip":"192.168.1.4",
"username":username,
"password":password
},
"SW5":{
"device_type":"cisco_ios",
"ip":"192.168.1.5",
"username":username,
"password":password
},
"SW6":{
"device_type":"cisco_ios",
"ip":"192.168.1.6",
"username":username,
"password":password
},
"SW7":{
"device_type":"cisco_ios",
"ip":"192.168.1.7",
"username":username,
"password":password
},
"SW8":{
"device_type":"cisco_ios",
"ip":"192.168.1.8",
"username":username,
"password":password
},
}
start = time()
netmiko_exceptions = (netmiko.exceptions.AuthenticationException, netmiko.exceptions.NetmikoTimeoutException)
for device in devices:
try:
print('Connecting to device', device)
print('=' * 80)
netconnect = netmiko.ConnectHandler(**devices[device])
print('Backing up', device)
print('=' * 80)
filename = 'backups/' + device + '.txt'
showrun = netconnect.send_command('sh run')
showclock = netconnect.send_command('show clock')
output = showclock + '\n' + ('=' * 80) + '\n' + showrun + '\n' + ('#' * 80) + '\n'
with open(filename, 'a') as f:
f.write(output)
netconnect.disconnect()
except netmiko_exceptions as e:
print('Failed to', device, e)
print('Islemin tamamlanma süresi: ', time() - start, ' saniye')