18-脚本任务配置举例
本章节下载 (551.78 KB)
目 录
脚本任务是指运维审计系统通过telnet或者SSH协议登录到目标设备后自动执行脚本,协助管理员对目标设备进行批量自动化管理。
运维审计系统的脚本任务有ssh-batch、builtin-interact、interact-script三种方式。
仅适用于有 ssh 服务的 Unix-like 设备,支持采用非标准 ssh 端口,标准为 22 端口。
用户可以根据需要在运维审计系统上撰写 shell 脚本;也可以上传已经写好的脚本到运维审计系统建立脚本任务并执行。
工作方式
运维审计系统会先以 ssh方式登录目标设备,建立相应的工作目录,然后以 scp 方式将脚本推送到工作目录内,最终ssh 到目标设备执行脚本。
· 如果需要执行的任务具有交互式的工作,运维审计系统将无法使用这种方式执行,请使用interact-script方式。
· 运维审计系统执行脚本后进将执行的输出记录在数据库中,但不对执行结果进行任何的判断。
Builtin-interact 方式是指运维审计系统内置的交互式脚本,目前运维审计系统内置了8种常见的脚本。Builtin-interact 方式支持通过 telnet 或 ssh 协议登录执行。
表1 内置脚本描述
cisco |
获取cisco网络设备运行时配置的脚本。 |
cisco-asa |
获取cisco-asa设备运行时配置的脚本。 |
get-remote-ip |
执行ifconfig命令,获取Unix-like 设备IP地址的脚本。 |
huawei |
获取huawei网络设备当前配置的脚本。 |
HuaWei-3COM |
获取HuaWei-3COM网络设备当前配置的脚本。 |
juniper |
获取juniper设备当前配置的脚本。 |
netdev-config-backup |
获取cisco网络设备NVM中配置的脚本。 |
h3c |
获取h3c设备当前配置的脚本。 |
interact-script是指交互式脚本。需要在运维审计系统上配置相关设备的交互过程。
interact-script的配置将在第五章中进行讲解。
使用配置管理员登录-脚本任务-任务浏览,点击“新建任务”
图1 脚本任务路径
图2 脚本任务界面
参见解释:
· 任务名称:填写任务名称。
· 部门:如果有配置部门可以选择相应部门;如果没有,默认选择root。
· 任务描述:填写任务的描述信息。
· 设备:选择需要进行脚本任务的设备。
· 设备组:选择需要进行脚本任务的设备组。
· 系统账号:选择以什么系统账号进行该脚本的执行。
· 脚本类型:第一章所提到的三种脚本类型。
· 文件名:当脚本类型选择Builtin-interact或者interact-script时,可以选择其中的具体脚本。
· 结果备份:可以选择是否需要将结果备份到邮箱或者文件服务器。
¡ 结果加密:备份文件以加密的形式发送。
¡ 结果发送:脚本执行结果发送给相应用户的邮箱。
¡ 结果上传:脚本执行结果发送到相应的文件服务器。
· 并发数量限制:如果有多台设备,可以设置并发数。
· 下次执行时间:指定下次脚本执行时间。
· 执行周期:指定脚本执行周期。
图3 ssh-batch脚本
当脚本类型选择ssh-batch,会出现图上的内容。
· 脚本类型:选择ssh-batch
· 工作目录:脚本上传到哪个目录下执行,上传的根目录为该用户的家目录。
· 上传文件名:该脚本的名称。
· 脚本内容:填写shell脚本的内容,需要符合shell脚本的规范。否则会执行失败。
· 上传脚本文件:shell脚本,可以以文件的方式上传。如果使用此方式上传,则不需要填写上方的脚本内容。
· 系统账号必须具有脚本中命令的执行权限。
· 系统账号必须在目标设备中托管账号密码,并且能够登录测试成功。
脚本任务的执行有两种方式:
(1) 立即执行
选择相应任务,点击“立即执行”。
图4 脚本任务立即执行
(2) 计划/周期执行
编辑相应任务,指定下次执行时间,或者指定执行周期。
图5 脚本任务周期执行
(1) 按脚本任务进行查看
使用配置管理员登录-脚本任务-任务浏览,选择相应的任务,点击“查看执行情况”。
图6 查看执行情况路径
会出现该脚本任务的执行历史情况。
图7 查看执行情况
(2) 全局查看
使用配置管理员登录-脚本任务-任务浏览,可以出现所有的脚本任务执行情况。
可以通过“任务状态”、“任务名称”进行过滤。
图8 全局查看执行情况
(1) 通过脚本任务查看
选择相应的脚本任务,点击“任务详细”。
图9 查看任务路径
出现该目标设备脚本任务的执行情况,可以查看输出或者下载输出。
图10 查看任务执行情况
(2) 全局查看
使用配置管理员登录-脚本任务-执行情况,可以出现所有目标设备脚本任务执行的情况。
图11 全局查看任务执行情况
ssh-batch脚本只适用于能够执行shell的 Unix-like 设备。
builtin-interact,运维审计系统只提供了常见的8个脚本。
所以,当我们需要执行其它的脚本,可以使用交互脚本方式(interact-script)自定义。
图12 准备命令交互过程
(1) 进入超级管理员账户。
(2) 进入“策略配置”-“交互脚本”菜单。点击“添加”。
图13 交互脚本路径
图14 交互脚本界面
参见解释:
· 名称:交互脚本的名称。
· 简要说明:描述该交互脚本。
· stepN:代表进行脚本执行的交互式操作。
· 增加新步骤:增加stepN。
· 标题说明
¡ expect:等待输出匹配内容;如果匹配,就输出对应send的内容。当匹配的内容有多行时,只匹配最后一行的内容
¡ send:匹配后发送的命令;执行完此命令,会进行下一个expect的匹配。
¡ error_expect:等待错误输出时的匹配;当交互过程有错误输出,导致脚本任务执行不成功,可以在这里匹配,匹配后,会终止脚本过程执行过程。
¡ error_report:自定义错误报告;当匹配error_expect,交互停止时,可以自定义错误报告,便于直观查看问题。
ssh-batch脚本只适用于能够执行shell的 Unix-like 设备。
图15 交互脚本界面
(1) 交互脚本是如何交互结束的?
答:所有步骤的expect内容匹配,认为交互脚本执行结束。
(2) 遇见特殊字符,无法匹配,怎么办?
答:这是因为特殊字符需要转义导致的。可以输入“\”,进行转义。
需要转义的字符为:*()+?/.\[=
例如:(current) UNIX password,需转义成:\(current\) UNIX password
(3) 设备登录等待时间较长,经常超时,怎么办?
答:可以修改“字符终端”-“自动登录超时”来延长脚本执行的等待时间。
(4) 命令输出过长,需要按空格显示下一页,如何配置。
答:针对常见的网络设备,可以设置screen-length长度,让输出不要分页。
例如:
华三设备:
system-view
user-interface vty 0 4
screen-length 0
思科设备:
terminal length 0
(5) 如果一个设备既有telnet服务,又有SSH服务,脚本执行会使用哪种方式?
答:查看该设备的默认字符服务,这个服务就是交互脚本使用方式。
图16 交互脚本界面
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!