BACKUP CONFIG PARAMIKO - NETAUTO #6
BACKUP CONFIG PARAMIKO - NETAUTO
Backup config with paramiko
Backup konfigurasi merupakan pekerjaan yang sangat penting. Apalagi jika kita ingin melakukan konfigurasi tambahan (update config) pada sebuah device, maka kita harus melakukan backup konfigurasi terlebih dahulu.
Agar jika pada saat melakukan konfigurasi terjadi masalah, kita bisa mengembalikan konfigurasi device ke kondisi semula.
Tentu saja akan sangat merepotkan jika kita harus melakukan backup konfigurasi pada 100 device. Untuk melakukan pekerjaan tersebut, kita bisa menggunakan python.
Ada banyak cara yang bisa kita gunakan untuk backup konfigurasi device menggunakan python, salah satunya menggunakan paramiko.
Kita akan mencoba membuat script python menggunakan paramiko untuk backup konfigurasi router. Masih pakai topology dan konfigurasi yang tadi.
Ubuntu
root@NetworkAutomation-1:~# cp paramiko1.py backup.py root@NetworkAutomation-1:~# nano backup.py
root@NetworkAutomation-1:~# cat backup.py
import paramiko import time
!
ip_address = "192.168.10.2"
username = "cisco"
password = "cisco123"
!
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=ip_address,username=username,
password=password)
!
print "Success login to {0}".format(ip_address)
conn = ssh_client.invoke_shell()
!
conn.send("terminal length 0\n")
conn.send("show run\n") time.sleep(5)
!
output = conn.recv(65535)
output_file=open("{0}.cfg".format(ip_address),"w") output_file.write(output)
output_file.close()
print "Config in {0} saved!!".format(ip_address)
ssh_client.close()
Oke setelah itu kita coba jalankan script diatas. Dan coba lihat hasilnya
Ubuntu
root@NetworkAutomation-1:~# python backup.py
Success login to 192.168.10.2
Config in 192.168.10.2 saved!!
root@NetworkAutomation-1:~# ls | grep .cfg 192.168.10.2.cfg
Oke lalu file tersebut kita ubah name file nya dengan nama ip_address.cfg sudah berhasil dibuat. Kita coba lihat isi dari file tersebut,
Ubuntu
root@NetworkAutomation-1:~# more 192.168.10.2.cfg
!
R1#terminal length 0 R1#show run
Building configuration...
!
Current configuration : 1280 bytes
!
version 12.4
service timestamps debug datetime
msec service timestamps log
datetime msec no service
password-encryption
!
hostname R1
!
boot-start-marker boot-end-marker
--More--(18%)
Komentar
Posting Komentar