使用ansible对思科交换机备份
先决条件
- 了解ansible基本操作
- 了解网络设备相关操作
- 了解linux相关操作
安装
安装EPEL
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装ansible
yum install ansible
确认ansible正确安装
ansible --version

测试ssh连接
在使用ansible之前,测试一下ssh连接网络设备,保证网络设备的ssh协议开启,账号密码正确。

1是账号,2是网络设备的ip。
创建inventory
inventory文件用来存放设备的相关信息,如ip地址、用户名、密码等。
文件名字可以叫inventory,也可以叫任何其它的名字,不加后缀。
文件内容如下:
1. 创建一个switches组,包含两台交换机, 第一列是交换机名(名字随便起),第二列的ansible_host是设备ip地址;
2. vars下面配置了switches组通用的变量,ansible_connection是连接方式,之后是操作系统类型ios,最后是登录的用户名。
[switches]
cisco_2960_06 ansible_host=x.x.x.x
cisco_2960_07 ansible_host=x.x.x.x [switches:vars]
ansible_connection=network_cli
ansible_network_os=ios
ansible_user=username
创建playbook
playbook的文件名后缀必须以.yml或.yaml结尾,我个人习惯前者。
内容如下:
name:playbook的名字,一般用于描述整个playbook的作用即可;
connection:连接方式,cisco ios必须用network_cli;
gather_facts:ansible会自动收集远端设备的信息,这个操作会消耗很长时间,一般没有特殊需求就设置为false关闭;
hosts:指定主机范围,这里是all,所有主机;
tasks:真正执行的任务都在这下面;
ios_config:这是一个ansible的模块,用来对cisco的ios设备进行配置的修改、备份。
backup:设置为yes,则会启用该模块的备份功能,会在运行playbook的当前目录下自动创建一个backup目录,配置会自动备份到该目录下。
--- - name: Network Getting Started First Playbook
connection: network_cli
gather_facts: false
hosts: all
tasks: - name: backup ios devices
ios_config:
backup: yes
运行playbook
ansible-playbook -i inventory -k -e ansible_network_os=ios first_playbook.yml
ansible-playbook 是可执行程序,用于执行playbook文件;
-i 调用inventory文件,这是之前配置的存放设备信息的文件;
-k 运行时提示输入密码。推荐使用这个参数,不要在inventory里存放设备密码,都是明文的,不安全;
-e 是extra的意思,额外参数。这里指定了设备操作系统版本ios(此处不是必须的,只是为了演示这个参数的用法);
最后一个参数是playbook文件的名字,此处是first_playbook.yml。
输出如下:

首先,由于指定了-k参数,系统会提示你输入SSH密码,这个密码是网络设备的登录密码。
最后显示ok,说明执行成功,没有报错。
查看当前目录,可以看到ansible自动创建了backup目录,并且该目录下有以日期时间为后缀的备份文件,说明备份成功。

使用ansible对思科交换机备份的更多相关文章
- 思科交换机配置DHCP的四个方面
这里我们主要讲解了思科交换机配置DHCP的相关内容.我们对网络拓扑先进行一下了解,然后对于其在进行一下说明,之后对于配置的代码和命令再进行一下解析. 思科交换机配置DHCP一.网络拓扑 思科交换机配置 ...
- 思科交换机根据mac地址限制主机
思科交换机可以根据客户端mac地址限制访问 查看对应IP的mac地址及vlan show arp | in 10.1.62.188 进入设置模式 configure terminal mac addr ...
- [CISCO] 思科交换机基本配置
思科交换机基本配置 交换机是局域网中最重要的设备,交换机是基于 MAC 来进行工作的.和路由器类似,交换 机也有 IOS,IOS 的基本使用方法是一样的.本章将简单介绍交换机的一些基本配置,以及交换 ...
- rabbitMq可靠消息投递之交换机备份
//备份队列 @Bean("alternate_queue") public Queue alternate_queue() { return new Queue("al ...
- Windows下使用console线连接思科交换机
在XP下可以直接使用内置工具"超级终端",在win7或者更高版本需要下载安装SecureCRT. 本文假设已经下载安装好了SecureCRT. 首先,将电脑连接console线.因 ...
- zabbix基础使用(以思科交换机为例)
1.创建host group --以方便添加告警和给host分组 一般先创建一个Group-Net,然后根据地点创建.命名,如Group-Net-BeiJing 2.创建Template 1.创建Di ...
- 转载:关于思科交换机、路由器如何关闭telnet 开启ssh服务
等保测评要求: 必须关闭telnet服务,开启ssh服务 即用ssh方式登录网络设备,而不允许用telnet. 输入密码.en 再次输入密码.sh run 这些常规动作就不再赘述. 1.关闭telne ...
- 思科交换机配置单播MAC地址过滤
1.其他厂商: 在华为,华三等设备上,我们都有“黑洞MAC地址表项” 的配置,其特点是手动配置.不会老化,且重启后也不会丢失.例如如下示例: 黑洞表项是特殊的静态MAC地址表项,丢弃含有特定源MAC地 ...
- cisco思科交换机终端远程ssh另一端报错:% ssh connections not permitted from this terminal
故障现象: XSJ-GH10-C3750->ssh 58.64.xx.xx% ssh connections not permitted from this terminal 解决办法: 原因: ...
随机推荐
- .net持续集成sonarqube篇之 sonarqube集成单元测试
系列目录 通过前面章节我们可以看到,不论怎么构建,单元测试覆盖率一栏总是0% 这是因为单元测试覆盖率报告需要额外集成.这一节我们就讲解如何在sonarqube里集成单元测试覆盖率报告. 这里需要借助O ...
- JSP数据交互(一)
1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 2.JSP9大内置对象: 对象名称 类型 request (请求对象) javax.servl ...
- springboot的邮件服务
作者:纯洁的微笑出处:http://www.ityouknow.com/ 版权归作者所有,转载请注明出处 springboot仍然在狂速发展,才五个多月没有关注,现在看官网已经到1.5.3.RELEA ...
- python中if __name__ == '__main__' :main(()
例如: if __name__ == '__main__': main() 如果运行的是主函数的话,执行下一句main() 如果作为模块被其他文件导入使用的话,我们就不执行后面的main()什么的. ...
- hdoj 4712 Hamming Distance(靠人品过的)
我先解释一下汉明距离 以下来自百度百科 在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的字符不同的个数.换句话说,它就是将 一个字符串变换成另外一个字符串所需要替换的字符个数. 例如: ...
- 放出一批学生管理系统jsp源码,部分有框架
基于jsp+struts 2的学生管理系统eclipse - 源码码头 https://www.icodedock.com/article/25.html 基于jsp+mysql的JSP学生成绩管 ...
- lvs+keepalived 高可用及负载均衡
一.环境准备 VIP:10.18.43.30 dr1:10.18.43.10 dr2:10.18.43.20 web1:10.18.43.13 web2:10.18.43.14 结构图 (一).预处理 ...
- (通俗易懂小白入门)网络流最大流——EK算法
网络流 网络流是模仿水流解决生活中类似问题的一种方法策略,来看这么一个问题,有一个自来水厂S,它要向目标T提供水量,从S出发有不确定数量和方向的水管,它可能直接到达T或者经过更多的节点的中转,目前确定 ...
- 使用抽象工厂反射获取不到Dal层对象,未能加载文件或程序集......
Put aside the fog and see the essence 解决问题之前,要明白问题为什么会出现 我相信能点开这篇帖子的人,都是具有探索精神的人,因为,只有心存疑问才会搜索 如果只想单 ...
- Selenium+java - 截图操作
写在前面 自动化测试过程中,运行失败截图可以很好的帮我们定位问题,因此,截图操作也是我们自动化测试中的一个重要环节. 截图方法 1.通过截图类TakeScreenshout实现截图 特点:截取浏览器窗 ...