自动使用模板及脚本

目录


概述

我们经常需要对正在运行中的设备执行配置变更,有时也会需要将同一变更应用到多个设备。虽然网络管理员手动编辑即可很好的完成这些配置,但处理大量的变更和进行重复性的工作是一项艰巨的任务。鉴于此,DeviceExpert提供了一种简单的解决方案——“配置模板”、“脚本”和“高级脚本”。

自定义模板及脚本有什么好处?

模板和脚本是怎样工作的?

    顾名思义,自定义模板就是指可以由记录中的用户根据需求自己定义并创建的那些模板。自定义模板包含(由用户提供)的要在设备上执行的命令,可以被创建来配置设备的任何特性,举例而言,你可以在cicso路由器上创建模板来配置IGRP。自定义模板可以在多个设备的大批配置更新任务中重复使用,举例而言,一个模板可以被多次用来修改多个设备上的密码、一个固件更新的模板可以在多个设备中多次使用。

    “模板变量”被定义来增强一个模板的可重用性。模板变量是一个值的占位符,可以指定模板在何时上传到设备上去。创建一个模板后,当你想要上传一个特定设备或一些设备的变更时,只需提供模板变量的值。其他一切均可由DeviceExpert自动提供。

    注意:创建“模板变量”是可选的,如果你想要增强模板的可重用性,可以选择创建它。

 

DeviceExpert中自定义模板的类型

由DeviceExpert提供的自定义模板有两种类型:

  1. 文件传输模式——用来通过TFTP上传对设备的部分配置变更。

  2. 脚本执行模式——命令在CLI控制台中被一个接一个的执行。脚本执行被分为如下两种类型:

下表提供了每种类型的自定义模板及何时使用的信息:

文件传输模式

简单脚本执行

高级脚本执行

用来通过TFTP上传对设备的部分配置变更。

例如:

  • 启用TELNET服务
  • 变更SNMP的团体字符串
  • 转发Syslog信息
  • 变更接口

在以上所有情况下,配置上传的文件传输模式可以被使用。一般来说,要对现有的配置执行变更,可以使用这种模式。

其他类似于要在设备上执行命令的情况下,可以使用脚本执行。

 

用来在CLI控制台上执行一个单独的命令。

例如:同步运行和启动配置。通过一个单独的脚本命令行copy running-config startup-config即可,你可以通过该命令同步任意数量的设备的启动和运行配置。

 

其他例子:

  • 密码修改

  • 更新NTP 服务器项

  • 输出“显示版本”

 

以下情况下,可以使用高级脚本执行:要在命令行中执行一个设备上的一系列相互联系的命令,其中一个命令执行后,下一个命令执行前,需要提供一些输入。

若一个命令的执行会改变设备的提示内容,或者耗时巨大,或者要求通过细粒度的控制来跟踪流量, 也可使用高级脚本执行。

例如:要想将你当前的网际操作系统镜像备份到一个TFTP服务器上,需要完成下面的步骤:

  • 使用命令行 copy flash <filename> tftp
    <filename> -
    你当前网际操作系统镜像的所在位置

  • 指定TFTP服务器的IP地址

  • 指定将文件拷贝到哪里

以上命令行执行步骤可转为一个高级脚本,如下:(欲知高级脚本详情,请看此处

 

<command prompt=']?'>copy flash:/%SOURCE_FILE_NAME% tftp</command>

<command prompt=']?'>%TFTP_SERVER_IP%</command>

<command timeout='70'>%DESTINATION_FILE_NAME%</command>

 

其他例子:

  • 上传操作系统镜像/固件升级

  • 配置banner消息
  • 重置HP ProCurve 和 Exteme Summit 设备的密码
  • 从闪存删除文件

 

 

创建自定义模板

要创建自定义模板:

    1. 点击“管理”>>“设备管理”>>“自定义模板”,之后,点击“新建模板”;

    2. 在打开的界面里,在“名称”文本字段中,为模板提供一个名称。在“描述”文本字段中,记述新模板的信息(以便将来参考)。

    3. 选择你想要将配置上传到设备上的模式。有三种模式可供选择:文件传输模式、简单脚本执行模式以及高级脚本执行模式。在文件传输模式下,传送会通过文件传输协议来传送。在简单脚本执行模式下,输入的命令会以脚本方式执行,你可以查看执行的输出,也可将输出生成为PDF格式。当进行一般配置的更新时,若文件通过文件传输协议的传输受限,脚本执行更有效,这种情况下,可以在特权模式下执行脚本,例如:配置终端模式。“高级脚本执行模式”同样很有效,因为它在命令行中提供了执行一系列设备内部相互联系的命令的选项(见:创建高级脚本 )。

    4. 在“模板内容”文本字段中,输入准备上传到设备中的配置命令。当输入配置命令时,使用%<variable_name>% 来创建一个模板变量,例如:snmp-server community %COMMUNITY%  RO

    5. 当设备被上传到模板中时,“模板变量”的值可以被指定。

    6. 点击“保存”,新模板被添加到模板列表中。

“高级脚本执行模式”方针

如上所述,“高级脚本执行模式”非常有用,因为它在设备命令行中提供了执行一系列内部相互联系的命令的选项。要启用此项,要执行的命令需要被以如下指定格式输入:


目的
句法
在命令行中输入要执行的命令 <command>xyz</command>

例如: <command>copy startup-config tftp</command>

 

指定执行一条命令后的提示

这可被用在固件升级、操作系统镜像备份等脚本中。

<command prompt=']?'>xyz</command> 

例如: <command prompt=']?'>copy startup-config tftp</command>

(这里,单引号中的提示符“?”及闭方括号被作为提示符。)

注意: 如果没有提供提示符,这会使用缺省的提示符。

执行完一条命令后,如果希望应用程序等待几秒,你可以指定一个时间来限制秒数。

这可被用在固件升级、操作系统镜像备份等脚本中。

<command timeout='70'>copy startup-config tftp</command>

例如: <command timeout='70'>copy startup-config tftp</command>

注意: 缺省超时时间是30秒。

执行了一条命令,且提供了相应查询的回复后,之后,如果设备不期望用户点“回车键”,可使用本句法。

<>例如:当设备期待一个“Y”或“N”的回复,而非“回车键”,可使用本句法。

这可被用在固件升级、操作系统镜像备份等脚本中。

<command suffix='$NO_ENTER'>y</command>

注意: suffix的缺省值是"ENTER", 即:换行。

指定执行一条命令后的提示

这可被用在固件升级、操作系统镜像备份等脚本中。

<command prompt='confirm'>xyz</command>

例如:<command prompt='confirm'>%DESTINATION_FILE_NAME%</command>

 

<>当执行完一条命令后,命令序列不希望回复时,本句法可被使用,它需要伴随一个超时值一起使用,以便在两条命令之间等待一些时间。

这可被用来设置Cisco设备中的banner消息。

<command prompt='$NO_RESPONSE' timeout='5'>banner %DELIMITING_CHAR%</command>
 

例如:<command prompt='$NO_RESPONSE' timeout='5'>banner %DELIMITING_CHAR%</command>

要用模板应用变更

    1. 被多个不同用户创建的所有模板均会被列在“自定义模板”页面中(“管理”>>“设备管理”>>“自定义模板”)。同样出现在页面中的还有诸如谁创建了模板、描述和最后修改的时间戳等其他信息。

    2. 如果你选择的执行模式是文件传输模式,你会看到“动作”栏下的“上传”链接。如果执行模式是“简单脚本执行”或“高级脚本执行”,你会看到“执行”链接。
       

要将模板上传到设备:
 

      

注意:
(1) 简单脚本执行模式不支持带'SNMP-TFTP'协议的设备

(2) 自定义模板的执行输出仅对执行该模板的用户可见。这是说,拥有“操作员”角色的用户可以查看自己执行的自定义模板的输出结果,而不能查看其他用户的。管理员可以查看所有模板的执行输出,并可以删除这些输出。

 

简单脚本执行的实际应用

自定义模板的简单脚本执行可以被证明是一个可用于多种设备的多种操作的强大工具。以下为其中几种实际应用:

修改密码

   使用简单脚本执行,你仅需一步,即可为多个设备更换密码。以下是可以用作此目的的典型模板的内容:

configure terminal

enable password xxxx

exit

 

获取所有设备的 'show version' 输出

   你可以多种不同的命令以从一个单独或多个设备获取硬件信息,例如:仅需如下脚本命令,即可一步获得多个设备的 'show version' :

show version

 

更新你设备上的NTP服务项

   如果你想更新NTP服务的详情,你所需要做的就是创建一个如下的模板:

configure terminal

ntp server x.x.x.x

exit

 

同步运行&启动配置

   仅需通过一行脚本,你即可同步任意数量设备的配置的运行和启动:

copy running-config startup-config

copy startup-config running-config  

   以上仅仅是一个说明怎样使用脚本的指示列表,你可以用它来完成很多其他的应用,在我们的网站中还有几个可用的例子,请参考一下。

 

高级脚本执行的一些实际应用

上传操作系统镜像

上传操作系统镜像/固件是管理员最常见的操作执行之一,高级脚本执行可以用来上传镜像,镜像文件可以通过TFTP来传送。

以下为上传操作系统镜像/固件的命令执行步骤:

以上命令执行步骤可以被转化为如下的高级脚本:

<command prompt=']?'>copy tftp: flash:</command>

<command prompt=']?'>%TFTP_SERVER_IP%</command>

<command prompt=']?'>%SOURCE_FILE_NAME%</command>

<command prompt='confirm'>%DESTINATION_FILE_NAME%</command>

<command timeout='120' suffix='$NO_ENTER'>y</command>

在以上例子中,占位符被用作源文件名、TFTP服务器IP和目的文件名,在执行高级脚本命令时,需要提供这些占位符的值。脚本可以被一步应用到很多设备中。

备份当前网际操作系统的镜像至TFTP服务器

要备份你的当前网际操作系统的镜像至TFTP服务器,可用以下步骤:

以上命令执行的步骤可以被转化为以下高级脚本: 

<command prompt=']?'>copy flash:/%SOURCE_FILE_NAME% tftp</command>

<command prompt=']?'>%TFTP_SERVER_IP%</command>

<command timeout='70'>%DESTINATION_FILE_NAME%</command>

在以上例子中,占位符代替源文件名、TFTP服务器IP和目的文件名,在执行高级脚本命令时,需要提供这些占位符的值。脚本可以被一步应用到很多设备中。


 

配置Banner消息

你可以用高级脚本执行来编辑一个或一组设备的已有banner消息。每次试图连接到设备时,用户都会看到该banner。

一般来说,需要的banner消息被与两个分隔符一起输入。例如:与## 两个符号之间的所有内容都会被显示为banner消息。分隔符不是banner消息的一部分。

要配置banner消息,可用以下步骤:

以上命令执行的步骤可以被转化为以下高级脚本: 

<command>conf t</command>

<command prompt='$NO_RESPONSE' timeout='5'>banner %DELIMITING_CHAR%</command>

<command prompt='$NO_RESPONSE' timeout='5'>%BANNER_LINE_1%</command>

<command prompt='$NO_RESPONSE' timeout='5'>%BANNER_LINE_2%</command>

<command>%DELIMITING_CHAR%</command>

<command>end</command>

在以上例子中,占位符代替分隔符和banner消息,在执行高级脚本命令时,需要提供这些占位符的值。脚本可以被一步应用到很多设备中。

 

重置HP ProCurve设备的密码

可以用高级脚本执行来重置HP ProCurve设备的密码

要重置HP ProCurve设备的密码,可用以下步骤:

以上命令执行的步骤可以被转化为以下高级脚本: 

<command>conf t</command>
<command prompt='$NO_RESPONSE' timeout='5'>password manager</command>
<command prompt='$NO_RESPONSE' timeout='5'>%PASSWORD%</command>
<command prompt='$NO_RESPONSE' timeout='5'>%PASSWORD%</command>
<command>end</command>

 

在以上例子中,占位符代替输入和确认新密码,在执行高级脚本命令时,需要提供这些占位符的值。脚本可以被一步应用到很多设备中。

 

从闪存中删除文件

Cicso 网际操作系统镜像是存储在闪存中的,所以当安装一个新的网际操作系统时,需要确定你的设备有足够的闪存容量来支持这个镜像。如果设备运行时容量不足,需要从闪存中删除文件,这步骤可以生成一个高级脚本。

要从闪存中删除文件,可用以下步骤:

以上命令执行的步骤可以被转化为以下高级脚本: 

<command prompt=']?'>delete flash:/%FILE_NAME%</command>

<command prompt='confirm'>%FILE_NAME%</command>

<command suffix='$NO_ENTER'>y</command>

在以上例子中,占位符代替被删除的文件名,在执行高级脚本命令时,需要提供这些占位符的值。脚本可以被一步应用到很多设备中。

 

自定义模板计划

全部的三种自定义模板方式——文件传输模式、简单脚本执行模式和高级脚本执行模式,均可按计划在未来某一时间执行,详情请参考计划部分

 

管理模板和脚本

要查看/编辑一个自定义模板

如果你想查看你一个已创建的模板的内容或编辑该模板:

    1. 点击 "管理" >> "设备管理" >> "自定义模板" ,之后点击要查看的自定义模板的名称

    2. 在打开的界面里,点击“编辑模板”,执行需要的变更,点击“更新”。

要删除一个自定义模板

    1. 点击 "管理" >> "设备管理" >> "自定义模板" ,选择要删除的模板。

    2. 点击“删除模板”,该模板就会被永久删除。

 



Copyright © 2005-2013, ZOHO Corp.,All Rights Reserved.