使用了telnetlib模块,首先登录到交换机,列出并获取配置文件的名称,然后通过tftp协议将配置文件传输到文件服务器上,为避免配置文件覆盖,将备份的配置文件名称统一加入日期以作区分。
1. 登录方式和口令有好几种,比较懒惰,通过不同列表以做区分,如果每个交换机口令都不相同的话,就需要额外处理了。
2. 交换机的配置文件也有多种类型,也是通过列表进行区分。
3. 有些交换机支持ftp和sftp,但测试发现有些虽然有相应的客户端命令,但传输总有问题。也不能将每个交换机都配置为ftp服务器,不安全也不方便。最后采用tftp解决。tftp比较简单,没有办法创建目录以区分不同日期的备份。好在配置文件已经加入了日期做区分,马马虎虎可以运行了。
import telnetlib,sys from datetime import date today=date.today() print(today) ipaddrset1=['192.168.1.19','192.168.1.29','192.168.1.59'] ipaddrset2=['192.168.1.39','192.168.1.49','192.168.1.69','192.168.1.56','192.168.1.6','192.168.1.9','192.168.1.24', '192.168.1.72','192.168.1.73','192.168.1.74','192.168.1.75','192.168.1.76','192.168.1.41','192.168.1.16','192.168.1.32',] ipaddrset3=['192.168.1.51','192.168.1.52','192.168.1.53','192.168.1.54','192.168.1.55', '192.168.1.15','192.168.1.16','192.168.1.22','192.168.1.23','192.168.1.25','192.168.1.26','192.168.1.27', '192.168.1.28','192.168.1.7'] hostname='192.168.8.201' tn=telnetlib.Telnet(hostname) print(tn.read_until(b'Username:').decode('ascii')) tn.write(b'**********\n') print(tn.read_until(b'Password:').decode('ascii')) tn.write(b'************\n') print(tn.read_until(b'>').decode('ascii')) for ipaddr in ipaddrset1: telnet_dest="telnet "+ipaddr tn.write(telnet_dest.encode('ascii')+b'\n') tn.read_until(b'Password:').decode('ascii') tn.write(b'**********\n') tn.read_until(b'>').decode('ascii') tn.write(b'dir\n') tn.read_until(b'>').decode('ascii') fn=str(today)+"_"+str(ipaddr)+"_vrpcfg.zip \n" cmdli="tftp 192.168.5.33 put vrpcfg.zip " +str(fn) tn.write(cmdli.ede('ascii')) tmp=tn.read_until(b'>').decode('ascii') if "successfully" in tmp: print(str(ipaddr)+" backup successfully!") else: print(str(ipaddr)+" backup NOT successfully!") tn.write(b'quit\n') tn.read_until(b'>') for ipaddr in ipaddrset2: telnet_dest="telnet "+ipaddr tn.write(telnet_dest.encode('ascii')+b'\n') tn.read_until(b'Password:').decode('ascii') tn.write(b'**********\n') tn.read_until(b'>').decode('ascii') tn.write(b'dir\n') tn.read_until(b'>').decode('ascii') fn=str(today)+"_"+str(ipaddr)+"_startup.cfg \n" cmdli="tftp 192.168.5.33 put startup.cfg " +str(fn) tn.write(cmdli.encode('ascii')) tmp=tn.read_until(b'>').decode('ascii') if "successfully" in tmp: print(str(ipaddr)+" backup successfully!") else: print(str(ipaddr)+" backup NOT successfully!") tn.write(b'quit\n') tn.read_until(b'>') for ipaddr in ipaddrset3: telnet_dest="telnet "+ipaddr tn.write(telnet_dest.encode('ascii')+b'\n') tn.read_until(b'Password:').decode('ascii') tn.write(b'************\n') tn.read_until(b'>').decode('ascii') tn.write(b'dir\n') tn.read_until(b'>').decode('ascii') fn=str(today)+"_"+str(ipaddr)+"_startup.cfg \n" cmdli="tftp 192.168.5.33 put startup.cfg " +str(fn) tn.write(cmdli.encode('ascii')) tmp=tn.read_until(b'>').decode('ascii') if "successfully" in tmp: print(str(ipaddr)+" backup successfully!") else: print(str(ipaddr)+" backup NOT successfully!") tn.write(b'quit\n') tn.read_until(b'>') tn.write(b'exit\n') tn.close()
以上这篇使用python telnetlib批量备份交换机配置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年09月23日
2024年09月23日
- 华少翌.2005-华少翌【中唱艺能】【WAV+CUE】
- 群星《十二女声Ⅱ》[WAV/CUE/分轨][527MB]
- 大自然音乐系列《漫步在山裡》[WAV/CUE/分轨][502.8MB]
- 大自然音乐系列《星光夜语》[WAV/CUE/分轨][453.3MB]
- 史依弘《史依弘交响乐京剧演唱专辑HQ》头版限量编号[WAV+CUE]
- 曼丽2020《女人三十风继续吹》HQCD[WAV+CUE]
- 曼丽2021《女人三十2雾之恋》HQCD[WAV+CUE]
- 隔壁老樊.2019-我曾【好听音乐】【FLAC分轨】
- 高林生.1993-牵挂你的人是我【白天鹅】【WAV+CUE】
- 洪卓立.2012-找个懂我的女孩(国专)【英皇娱乐】【WAV+CUE】
- 曼丽2022《女人三十3晚秋》HQCD[WAV+CUE]
- 曼丽2018《女人三十4冬天》HQCD[WAV+CUE]
- 柏菲-《好歌30年壹》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 大自然音乐系列《水舞》[WAV/CUE/分轨][424.3MB]
- 大自然音乐系列《星光夜语》[WAV/CUE/分轨][453.3MB]