crt自动化脚本
Posted 毒番茄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crt自动化脚本相关的知识,希望对你有一定的参考价值。
“ 因为平常做维护工作时,经常会碰到一些重复的工作,刚好最近学了点Python ,就希望写个小demo,方便工作,这里做个简单记录”
01
—
CRT
作为一个运维人员,不管是网络还是系统,CRT几乎是一个必备的软件,而且这个软件也十分强大,特殊是可以自己写一些小脚本,这对于运维来说,简直就是福利。目前,支持两种脚本语言,vbs和python。
目前CRT对Vbs的支持是比较好的。CRT有个很好的功能,是你可以录制脚本,因此可以快速的制作一些小脚本。(ps:默认生成的是.vbs文件)
但一些稍微复杂的工作则需要手写。比如,导出100台设备的配置、巡检信息等。
02
—
脚本介绍
其实整个脚本实现的逻辑十分简单,关键的地方在于跟CRT的交互。
开头部分需要声明,这是一种标准格式。
整体代码有几个关键的地方
1、开启日志记录。
登录成功后,调用tab.Session.LogFileName,传入文件的名字,并且开启记录功能
2、多页输出的处理(More)
有时候输入一条命令,一页显示不了,就会以--More--显示,这个时候,需要按回车键,才能继续输出。为了完整模拟,需要让脚步执行的时候,做一个判断,如果,检测到More这字符,则按回车键。
3、登录多台设备
一般都是通过一台跳板机,登录上所有的设备,所以在执行完一台设备的命令后,需要退回到跳板机,这个时候,会有一个问题,程序会卡在跳板机这里,(具体原因我也不是很清楚)。后来,我加了一个判断,当前的设备是否是跳板机,循环就ok了。
4、关闭日志记录
因为实现的效果是要,一台设备,一份文件,所以,在执行完一台设备操作后,应该取消日志记录功能,等执行第二台设备的时候,才开启日志记录。
详细代码如下:
后话:
这是一个十分基础的demo。
可以优化的地方有 :
1、实现设备名命令文件(目前未能实现)
2、从文本读取密码、命令、ip等(文本处理,较简单)
3、不同厂商设备的判断(这个我觉得脚本分开好点)
以上是关于crt自动化脚本的主要内容,如果未能解决你的问题,请参考以下文章