前言

当我们管理的网络设备为个位数的时候,手动的把配置通过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执行脚本

Cisco设备自动定时备份配置的更多相关文章

  1. SQL2008实现数据库自动定时备份——维护计划

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库.要实现数据库的 ...

  2. [转]mysql自动定时备份数据库的最佳方法-支持windows系统

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  3. windows系统——mysql自动定时备份数据库的最佳方法

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  4. Mysql数据库自动定时备份软件推荐--MySqlBackupFTP(免费,亲测可用,附使用图示)

    MySqlBackupFTP是一款Mysql数据库自动定时备份软件,免费版本就基本上可以满足我们的需求,不需要什么破解版,可直接官网下载安装使用. 先看结果(日志): 软件界面: 可以设定计划任务,每 ...

  5. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  6. Centos使用crontab自动定时备份mysql的脚本

    在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了3个理由. 1.防止数据丢失 2.防止数据改错了,可以用来恢复 3.方便给客户数据 以 上几点告诉我们要经常备份,当然我今天给大家 ...

  7. ROS 5.x自动定时备份并发送到邮箱(实用)

    博主使用ROS已经有很长一段时间了,但经常会忘记备份配置与数据库,加上ROS本身自带的User-Man数据库并不是非常稳定,1年中总会出现1-2次数据丢失的情况.所以费了一定功夫才找到真正可用自动备份 ...

  8. linux自动定时备份web程序和mysql数据库

    前些天受朋友说linux定时备份不知道怎么搞,叫帮忙处理一下.由于这段时间正闲着,所以也就欣然答应.由于朋友对linux不懂也希望我将操作的过程记录下来,也就是越详细越好.所以写得比较$%^& ...

  9. Linux VPS自动定时备份网站文件和MYSQL数据库到FTP空间(LNMP)

    如果我们网站更新不是很频繁,我们可以定期手动进行备份网站文件和MYSQL数据库导出.如果我们网站数据更新频繁,且数据尤为重要,建议要采用定期自动 备份,至少需要多备份数据,无论我们选择何种优秀的VPS ...

随机推荐

  1. linux网络编程之socket编程(九)

    转眼又快到十一月份了,北京已经是完全进入冬天的节奏,外面冷风嗖嗖的,不过在夜深人静之时,学习永远成了我最快乐的时光,只有此时会觉得自己是如此踏实,虽说白天工作也是编一天程,但是此时的编程,是一种业余爱 ...

  2. socket常见选项之SO_REUSEADDR,SO_REUSEPORT

    目录 SO_REUSEADDR time-wait SO_REUSEPORT SO_REUSEADDR 一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即 ...

  3. 文件操作中file.seek()方法

    摘要: file.seek()可以将文件游标移动到文件的任意位置,本文具体的file.seek()文件游标移动操作方法. file.seek()方法标准格式是:seek(offset,whence=0 ...

  4. BZOJ 3749: [POI2015]Łasuchy(贪心)

    Orz大佬博客 CODE #include <bits/stdc++.h> using namespace std; typedef long long LL; char cb[1< ...

  5. sql server if exists和 if not exists 的关键字用法

    if exists和if not exists关键字用法   1.介绍  if not exists 即如果不存在,if exists 即如果存在 2.使用  a.判断数据库不存在时  if not ...

  6. Greenplum table 之 appendonly表

    一.压缩表 1.appendonly压缩表的数据视图为pg_appendonly 2.appendonly在Greenplum后也可更新与删除

  7. unity当两个以上Android插件冲突,怎么配置manifest

    https://my.oschina.net/u/3332153/blog/855798 一 问题 当unity导入两个以上package并且都有manifest配置时,unity不会自动合并而是替换 ...

  8. FOI冬令营 Day1

    目录 T1.全连(fc) 传送门 Code  T2.原样输出(copy) 传送门 Code  T3.不同的缩写(diff) 传送门 Code  打算把省冬的题目放上来,主要是防止自己偷懒不订正 T1. ...

  9. NSCTF 2017-pwn2

    目录 程序基本信息 程序漏洞 整体思路 exp脚本 发现的问题 内容参考 程序基本信息 32位动态链接程序,开启了数据段不可执行以及栈溢出保护 程序漏洞 在函数中sub_80487fa中有一个格式化字 ...

  10. Java 面向对象(五)

    包装类 什么是包装类 在面向对象当中"一切皆对象".基本数据类型变量不是对象,比如 int a = 10; 当中就没有对象,所以就很矛盾.此时我们就可以对基本数据类型进行包装,把基 ...