先决条件

- 了解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对思科交换机备份的更多相关文章

  1. 思科交换机配置DHCP的四个方面

    这里我们主要讲解了思科交换机配置DHCP的相关内容.我们对网络拓扑先进行一下了解,然后对于其在进行一下说明,之后对于配置的代码和命令再进行一下解析. 思科交换机配置DHCP一.网络拓扑 思科交换机配置 ...

  2. 思科交换机根据mac地址限制主机

    思科交换机可以根据客户端mac地址限制访问 查看对应IP的mac地址及vlan show arp | in 10.1.62.188 进入设置模式 configure terminal mac addr ...

  3. [CISCO] 思科交换机基本配置

    思科交换机基本配置 交换机是局域网中最重要的设备,交换机是基于 MAC 来进行工作的.和路由器类似,交换 机也有 IOS,IOS 的基本使用方法是一样的.本章将简单介绍交换机的一些基本配置,以及交换 ...

  4. rabbitMq可靠消息投递之交换机备份

    //备份队列 @Bean("alternate_queue") public Queue alternate_queue() { return new Queue("al ...

  5. Windows下使用console线连接思科交换机

    在XP下可以直接使用内置工具"超级终端",在win7或者更高版本需要下载安装SecureCRT. 本文假设已经下载安装好了SecureCRT. 首先,将电脑连接console线.因 ...

  6. zabbix基础使用(以思科交换机为例)

    1.创建host group --以方便添加告警和给host分组 一般先创建一个Group-Net,然后根据地点创建.命名,如Group-Net-BeiJing 2.创建Template 1.创建Di ...

  7. 转载:关于思科交换机、路由器如何关闭telnet 开启ssh服务

    等保测评要求: 必须关闭telnet服务,开启ssh服务 即用ssh方式登录网络设备,而不允许用telnet. 输入密码.en 再次输入密码.sh run 这些常规动作就不再赘述. 1.关闭telne ...

  8. 思科交换机配置单播MAC地址过滤

    1.其他厂商: 在华为,华三等设备上,我们都有“黑洞MAC地址表项” 的配置,其特点是手动配置.不会老化,且重启后也不会丢失.例如如下示例: 黑洞表项是特殊的静态MAC地址表项,丢弃含有特定源MAC地 ...

  9. cisco思科交换机终端远程ssh另一端报错:% ssh connections not permitted from this terminal

    故障现象: XSJ-GH10-C3750->ssh 58.64.xx.xx% ssh connections not permitted from this terminal 解决办法: 原因: ...

随机推荐

  1. docker部署xxl-job 通用反射执行器

    原因 最近在公司写一些job,公司使用的是spring boot提供的注解形式实现的. 这样在自测的时候很麻烦,而且测试提测的时候需要修改cron表达式->提交git->jenkins打包 ...

  2. 思路重要or技术重要?

    1,思路串通代码的重要性 前段时间,同事在工作上出现一点难题,在技术大佬中看起来算是微不足道的一点小事,由于没有思路,代码也无从下手,他在百度上条框上搜索自己想要的答案,却始终没有比较理想的,大部分的 ...

  3. 二进制文件安装k8s所需要的证书服务

    利用二进制文件安装etcd所需要的证书服务 CFSSL是CloudFlare开源的一款PKI/TLS工具. CFSSL 包含一个命令行工具 和一个用于 签名,验证并且捆绑TLS证书的 HTTP API ...

  4. dubbo文档笔记

    配置覆盖关系 以 timeout 为例,显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似: 方法级优先,接口级次之,全局配置再次之. 如果级别一样,则消费 ...

  5. 洛谷P3572题解

    这道题实在是一道 毒瘤 题,太坑爹了.那个写 \(deque\) 的题解亲测只有80分,原因 不言而明 ,这道题居然 丧心病狂 到 卡STL . 好了,不吐槽了,进入正题 题目分析: 这是一道十分 简 ...

  6. MySQL数据库基本知识(理论总结)

    定义:数据库就是一个文件系统,通过sql语句来获取数据 关系型数据库:关系型数据库存放的是实体时间的关系,在数据库层面来看就是存放的是表和表之间的关联关系 常见的关系型数据库   MySQL    D ...

  7. 【POJ - 2431】Expedition(优先队列)

    Expedition 直接中文 Descriptions 一群奶牛抓起一辆卡车,冒险进入丛林深处的探险队.作为相当差的司机,不幸的是,奶牛设法跑过一块岩石并刺破卡车的油箱.卡车现在每运行一个单位的距离 ...

  8. Python连载30-多线程之进程&线程&线程使用举例

    一.多线程 1.我们的环境 (1)xubuntu 16.04(2)anaconda(3)pycharm(4)python 3.6 2.程序:一堆代码以文本的形式存入一个文档 3.进程:程序运行的一个状 ...

  9. 一文了解java异常机制

    1.异常的概述 1.1什么是异常? 异常:程序在运行过程中发生由于外部问题导致的程序异常事件,发生的异常会中断程序的运行.(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个 ...

  10. python第二课--分支结构与循环结构

    if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...