python备份cisco交换机_python,自动备份交换机配置
参考文献
参考文献1:https://www.oschina.net/code/snippet_7933_47935
测试代码
前言:这个程序用来批量备份博达交换机的配置,需要在桌面打开tftpd32.exe,还有打开sw.txt,
txt里面一行写一个ip地址,同时修改代码对应的tftpser ip地址。这个代码是改写现成的代码,
还有线程部分不太懂,是可以多线程同时进行的。
#!/usr/bin/python
# -*- coding: utf-8
import sys,os,telnetlib,time,threading,datetime,logging,re
import msvcrt #这个用来定义退出cmd,不然程序一闪而过
#---------------------------这段程序用来定义日志------------------------------
logger = logging.getLogger("Test") #为这个log取个名字
logger.setLevel(logging.DEBUG) #定义debug(优先级10)以上的告警都进行捕获
fh = logging.FileHandler("test.log") #把log写入相应的文件中
fh.setLevel(logging.DEBUG) #定义debug(优先级10)以上的告警都写入到文件
sh = logging.StreamHandler() #把log打印到屏幕上
sh.setLevel(logging.DEBUG) #定义debug(优先级10)以上的告警都打印到屏幕上
#定义要打印的参数的格式(参数很多),系统时间,name(logging.getLogger("Test")),优先级,自定义日志
formatter = logging.Formatter("%(asctime)s [%(name)s] -
[%(levelname)s]: %(message)s")
fh.setFormatter(formatter) #把格式formatter赋值给fh
sh.setFormatter(formatter) #把格式formatter赋值给sh
logger.addHandler(fh) #把fh加入logger.
logger.addHandler(sh) #把sh加入logger.
#---------------------------这段程序用来备份配置------------------------------
#Use for loop to telnet into each routers and execute
commands
class Bakconf(threading.Thread):
def __init__(self,host,username,password):
threading.Thread.__init__(self)
self.host=host
self.username=username
self.password=password
def run(self):
try:
logger.debug('------------------------connect---------------------------')
tn = telnetlib.Telnet(self.host,port=23,timeout=10)
except:
print "Can't connection %s"% self.host
return
tn.set_debuglevel(5)
logger.debug('-------------------------login----------------------------')
tn.write(self.username +b"\n")
tn.write("en\n")
tn.write(self.password + b"\n")
logger.debug('-----------------------backup
start---------------------------')
tn.write("copy startup-config tftp: %s \n"% tftpser)
tn.write(host + "\n")
#tn.write(b"\n")
time.sleep(1)
tn.write("exit\n")
tn.close()
logger.debug('--------------------------end------------------------------')
def main():
logger.debug('-----------------------read
username+password---------------------------')
username = "admin"
password = "admin"
global tftpser
logger.debug('-------------------read
tftpserverip-----------------------')
tftpser="66.66.66.100"
for host in open(r'sw.txt').readlines():
dsthost = host.strip('\n')
bakconf=Bakconf(dsthost, username, password)
bakconf.start()
'''
#Backup switch config and tar
time.sleep(1)
dtime=datetime.datetime.now().strftime("%Y%m%d%H%M%S")
os.popen('tar -cjf /backup/cisco/switch-'+dtime+'.tar.bz2 '+
'/tftproot')
os.popen('rm -fr /tftproot/*')
os.popen('find /backup/cisco/ -mtime +90 -exec rm {} \;')
'''
if __name__=="__main__":
main()
print ("Press 'D' to exit...") #提示press ‘D’ 退出cmd
while True:
if ord(msvcrt.getch()) in [68, 100]:#获取到‘D’键位
break #退出程序
python备份cisco交换机_python,自动备份交换机配置相关推荐
- H3C交换机配置文件自动备份
一.自动配置文件需求 网络中有多台华三交换机,需要每天一定时自动备份配置,并且简单易用. 二.环境条件 交换机:型号S6805-56HF-G,版本Version 7.1.070, Release 60 ...
- Python os模块 设计文件夹自动备份、同步工具
背景 我们经常使用U盘来储存和备份文件.但是备份一个文件夹到U盘的时候, 如果文件夹之前已经放到U盘, 那么怎么办? 多数读者会选择替换U盘中原有的文件.但是: 首先, 这种方式速度慢.如果文件夹中有 ...
- 数据服务器数据自动备份工具,网站数据自动备份工具介绍
12月的寒风吹过,站长无时无刻不在担心网站,会不会在下一分钟就被关闭.而此时,为了防止服务器机房断网,网站被迫关闭,网站的数据备份就显得格外重要,一旦网站出现问题,我们可以利用最新的数据上传到其他空间 ...
- 企业数据备份方案-MxsDoc的自动备份的应用
一.简介 企业数据包括各种文档资料.代码资料以及数据库的数据,对于一个企业来说至关重要. 计算机硬件和软件会因为各种原因(包括火灾.地震等自然灾害)导致数据的丢失或损坏,为了避免出现此类情况后,能够快 ...
- python备份cisco交换机_1.自动备份思科交换机配置
自动备份思科交换机配置 2017-10-11 Python 宅必备 这个专题主要是一些日常用到的Python程序,不定期更新~~ 备份原理 首先读取txt文档中的ip地址 然后循环地址,通过是我提出函 ...
- cisco 交换机 定期 自动 备份配置 -linux,交换机定时自动备份配置文件的方法
如果一个管理员平时只管理个位数的交换机,而且也不需要经常修改配置,那可以使用手工方式定期保存配置文件,因为一旦设备故障,可以及时导入备份配置恢复网络. 但如果网络里有很多交换机,又要经常修改配置,那让 ...
- Cisco、华为、H3C交换机配置文件自动备份
作为一个网管,很多时候需要定时对设备做好配置备份,以防设备宏基无法启动,配置新的设备时又需要重新调研网络链路.对于某些网络环境拥有百多台设备,而且存在各种品牌的网络设备,一个一个备份是一个痛苦的事情. ...
- cisco 交换机 定期 自动 备份配置 -linux,Cisco交换机配置文件定时自动备份
Cisco交换机配置文件定时自动配备配置操作指引 目的:配置每天自动备份Cisco交换机配置文件到文件服务器. 准备: 搭建fileZilla server 文件服务器: 配置交换机备份命令: 文件服 ...
- 交换机定时自动备份配置文件的方法
如果一个管理员平时只管理个位数的交换机,而且也不需要经常修改配置,那可以使用手工方式定期保存配置文件,因为一旦设备故障,可以及时导入备份配置恢复网络. <br/> 但如果网络里有很多交换机 ...
- Python实现Chrome浏览器书签自动备份
import os import json# 设置 Chrome 书签文件的路径 chrome_path = r"C:\MyChromeDevUserData\Default\Bookmar ...
最新文章
- python数据分析从入门到精通电子工业出版社_荐书丨Python数据分析从入门到精通...
- Hbase Replication 介绍
- centos 升级curl版本
- [转]Flask --- 框架快速入门
- 视觉在无人驾驶中的应用及分类_机器视觉在智能化生产中的广泛应用
- 数据库存入表情符报错问题
- mybatis 遍历数组_Mybatis中别名、插件与数据源配置
- android页面布局 如何让中间的listview填充剩余部分_不使用css3:flex怎么实现一些常见的移动端布局...
- ubuntu20.04+vtd环境搭建
- 荣耀 android 5.0 root,华为荣耀畅玩5C获取EMUI5.0 安卓7.0系统的root教程
- PS制作3D立体字步骤教程
- 计算机科学与技术影视,计算机科学与技术专业--水墨的影视艺术语言的研究
- GIT提示Another git process seems to be running in this repository
- 修改docker容器中的配置文件
- 2018年爬虫代理IP提供商对比
- MSSQL 2005 如何批量修改表的架构SQL Server - 海狼工作室 - 杨远 - 和讯博客
- 信安软考 第八章 防火墙技术与原理运用
- 架构解密:从分布式到微服务pdf
- 开博尔智能android播放器C3,开博尔C3第9代不能进桌面的刷机方法
- 基金指标: beta,alpha,Sharpe Ratio
热门文章
- Linux 设置程序开机自动启动
- BIM+区块链,让城市建设更智慧
- 基于JSP+Servlet+JavaBean+DAO+Service+JDBC的职工信息管理系统
- 多快好省的视频播放工具 MPlayerX
- python量化自动交易_Python量化交易之MACD'顶底背离'形态的实现,自动
- mplayer配置文件_如何使用MPlayer播放DVD目录/ ISO文件/磁盘
- python把hdf转为tif_python_MODIS HDF数据转为tif并拼接图像
- 计算机组装虚拟仿真,虚拟仿真技术在中职计算机组装与维护课程中的应用探讨...
- 'gbk' codec can't decode byte 0xae 解决方法
- 会多门编程语言的你,最推荐哪3-5门语言?