Cisco设备自动定时备份配置

前言

当我们管理的网络设备为个位数的时候,手动的把配置通过tftp方式copy出来还是可以的。但是当我们管理几十台甚至上百台(有点夸张,都这个级别了肯定用专业的运维软件或者开发运维平台进行管理)的时候手工备份配置就显得捉襟见肘了,在设备就十几二十台这种尴尬的数字的时候,cisco设备自带的任务命令就显得很好了,下面将介绍这个命令的用法

实现步骤

①设备时间的同步(定时备份那么设备的时间就必须要准确,一般内网都有NTP服务器,直接用ntp同步即可)

②tftp服务器(为啥是tftp不是ftp?因为cisco的定时任务命令不支持交互操作)

③写一个bat命令(如果tftp在linux就写一个shell脚本)move备份的配置(为啥?因为设备传递的是show run的结果然后redirect出来的,文件名是在设备上面写死的,如果不每天定时转移上传的配置,那么下次设备再上传配置的时候就会覆盖上一次的配置)

低版本的ios可能不支持

具体配置

 ①配置NTP

POE-2(config)#clock timezone CN 8 
POE-2(config)#ntp server 172.28.28.1
POE-2(config)#ntp source vlan 255
POE-2#sh clock
10:25:38.348 CN Thu May 10 2018

 

 ②配置好tftp服务端

这里就用cisco的tftp了(反正都是自家的东西)

 

③配置定时任务

POE-2(config)#kron policy-list BAK  //定义一kron策略列表
POE-2(config-kron-policy)#cli show run | redirect tftp://172.28.27.227/POE-2.cfg  //从cli后面开始都是命令,但是这个命令必须是无交互的,比如不用输yes等确认信息
POE-2(config-kron-policy)#exit   //一定要exit退出才会提交
POE-2(config)#kron occurrence BAK at 10:40 recurring  //添加调度,时间后面如果不加天数就表示每天这个时间都备份 recurring表示重复的意思
POE-2(config-kron-occurrence)#policy-list BAK   //调度任务
POE-2(config-kron-occurrence)#exit
POE-2#sh kron schedule   //查看调度情况
Kron Occurrence Schedule
BAK inactive, will run again in 0 days 00:08:11 at 10:40 on
POE-2#sh run | in kron
kron occurrence BAK at 10:40 recurring
kron policy-list BAK

 这里是测试 所以很快就可以看到自动备份的效果

④建立bat或者shell

需要将配置文件转移到其他地方并且以时间命名才能达到我们增量备份的效果,不做此步骤每次的新备份都会覆盖原有的备份(除非把名字改掉)

这里是windows系统就以bat为例:

@set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
//建立一个变量,并通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)
@md D:\网络配置备份\
%ymd% //第二句为用MD命令 建立以变量Ymd为名的文件夹
@move
/y E:\tftpdir\*.* D:\网络配置备份\%ymd%
//第三句为复制指定的文件到指定的文件夹。注意源文件的路径不能太长否则就无法识别,最好也不要只中文路径,不然出错都不知道原因

 下面可以复制到bat上面执行的(注意把路径改下)

@set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
@md D:\网络配置备份\%ymd%
@move /y E:\tftpdir\*.* D:\网络配置备份\%ymd%

 

⑤建立windows任务计划

这里的建立需要注意要晚于cisco设备备份配置的时间,道理很简单,配置没生成就提前mv了是没意义的

这里就不演示了

注:上述的操作同样也只是半自动,因为在交换机上面要配置的内容也不少,如果要更高级的玩法可以看看 Kiwi CatTools工具(收费的)或者expect脚本(linux下的)

补充:用linux作为tftp服务器接受配置文件

①安装tftp

[root@grafana-sz ~]#yum install xinetd tftp-server tftp -y

 

②配置tftp

[root@grafana-sz ~]# mkdir /tmp/network
[root@grafana-sz ~]# vim /etc/xinetd.d/tftp
将  disable  = yes 改为  disable = no
设置tftp根目录:
server_args  = -s /tmp/network -c  //参数-s指定chroot,-c指定了可以创建文件。
[root@grafana-sz ~]# systemctl start xinetd.service 
[root@grafana-sz ~]# systemctl start tftp.service
[root@grafana-sz ~]# systemctl start tftp.socket
[root@grafana-sz ~]# systemctl enable tftp.socket
[root@grafana-sz ~]# systemctl enable tftp.service
[root@grafana-sz ~]# systemctl enable xinetd.service

 

③写shell脚本定时转移文件

[root@grafana-sz ~]# vim mkdir.sh
#!/bin/bash
#
#
dirdate=`date +%Y%m%d`_`date +%H%M%S`
mkdir -p /networkconfig/$dirdate
mv /tmp/network/* /networkconfig/$dirdate

 

④增加crontab

[root@grafana-sz ~]# crontab -e
30 23 * * * /root/mkdir.sh     //每晚23:30执行脚本

 

 

 

 

 






 

转载于:https://www.cnblogs.com/sun292393989/p/9018674.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值