网络设备在生成环境中担任着重要的角色,为了在出现故障时,以最快的速度恢复,所有,在日常维护中,我们会选择定期对网络设备配置文件进行备份。当出现一些硬件故障时,需要更换新的网络设备,可以快速的恢复之前的配置。在生成环境中,你们是如何进行网络设备配置文件的备份呢?
今天分享一个备份脚本,希望对大家有所帮助。
拓扑
此案例把网络设备的配置文件备份到FTP服务器上。
配置步骤
1、确保网络设备与FTP服务器能通信,并且能访问FTP服务器。
2、编写备份配置文件脚本。脚本代码如下。
#coding=utf-8 # 通过telnet 远程登录设备 import telnetlib import os import datetime import time import sys reload(sys) sys.setdefaultencoding("utf-8") time1=datetime.datetime.now() time2=time1.strftime('%Y%m%d') def path_check(path): if os.path.exists(path): pass else: os.mkdir(path,0757) def login_ftp(telnetsession,password_prompt): telnetsession.write("ftp 192.168.35.202\n") telnetsession.read_until("(none)):") telnetsession.write("anonymous\n") telnetsession.read_until(password_prompt) telnetsession.write("\n") telnetsession.read_until("[ftp]") telnetsession.write("cd pub \n") telnetsession.read_until("[ftp]") path="/var/ftp/pub/"+time2 if os.os.path.exists(path): pass else: telnetsession.write("mkdir "+ time2 +"\n") telnetsession.read_until("[ftp]") telnetsession.write("cd /pub/"+ time2 +"\n") telnetsession.read_until("[ftp]") def do_telent(Host,username,password): _UsermodTag=">" telnetsession = telnetlib.Telnet(Host,port=23,timeout=5) telnetsession.set_debuglevel(2) time1=datetime.datetime.now() time2=time1.strftime('%Y-%m-%d') #输入用户名 login_prompt="Username" response = telnetsession.read_until(login_prompt) if login_prompt in response: print ('[*] Username: %s'%username) telnetsession.write(username + "\n") #输入密码 password_prompt="Password" response = telnetsession.read_until(password_prompt) if password_prompt in response: print ('[*] Password: %s'%password) telnetsession.write(password + "\n") password_prompt="password" telnetsession.read_until(_UsermodTag) login_ftp(telnetsession,password_prompt) telnetsession.write("put vrpcfg.zip %s" %Host+'_'+time2+"_vrpcfg.zip" + "\n") telnetsession.read_until("[ftp]") telnetsession.close() if __name__ == '__main__': path="/var/ftp/pub/"+time2 path_check(path) Host=["192.168.35.10"] username="admin" password="admin123" for host in Host: do_telent(host,username,password)
3、把脚本加入crontab定期执行。
4、验证