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自动化脚本的主要内容,如果未能解决你的问题,请参考以下文章

SecureCrt VBS自动登录备份网络设备配置脚本

用CRT自动连接设备 并执行命令 保存日志文件

SecureCRT自动化脚本

OpenConnect 自动连接/重新连接脚本?

SecureCRT自动上传文件python脚本

CentOS7开机自动执行命令