SecureCRT + Python

0
前段时间为了重现客户的问题,不得不用脚本来实现。但是由于MAC版本中的ZOC仅仅支持RXEE格式的脚本,用的人太少了,所以果断换回SCRT,本想用之前熟悉的VB简单写一个,发现MAC版的SCRT仅支持Python,索性边学边写了一个简单的小脚本,这个脚本主要涉及循环,random和time模块的调用,没有更多内容,日后会逐渐让其丰满起来

脚本实现的流:
加入一个ACL,观察NSR的状态
如果NSR出现Oper Down,移除ACL并等待30s,再次加入ACL
如果NSR没有变化,等待55-65s之间的任何时间,移除ACL并等待30s,再次加入ACL
一直循环下去,最大为99次

# $language = "Python"
# $interface = "1.0"
# coding = utf-8
 
import random
import time 
#调用python中的随机函数和时间模块
t1 = random.randint(55,65) 
#从55到65之间随机选一个赋值给t1
i1 = 1
#设置初始变量i1为1
 
for i in range(1,100): 
#循环99次,2到100
    crt.Screen.Send("ipv4 access-group BGP ingress hardware-count interface-statistics\r")
    crt.Screen.Send("commit\r")
    #代码执行就加入ACL
    while i1 <= t1:
    #当i1小于等于t1为真时,执行下面内容,否则跳出while循环
        crt.Screen.Send("do sh bgp vpnv4 un nei 10.2.0.3 nsr\r")
        if (crt.Screen.WaitForString("TCP Oper Down",1) == True):
            break
            #waitforstring的函数返回值是true和false,如果为真,结束while循环,否则继续
            #里面的1必须配置,1s内发现这个字符串
        i1 += 1
        #i1加1并赋值给i1,也就是1,2,3,4,5,然后跟t1对比
        time.sleep(1)
        #python中的时间函数,秒为单位,停止1s,感觉比crt里的那个时间函数要好用
        #1s后会继续判断i1和t1,除非执行完毕或者触发break
    crt.Screen.Send("no ipv4 access-group BGP ingress hardware-count interface-statistics\r")
    crt.Screen.Send("commit\r")
    time.sleep(30)
    #当发现了“TCP Oper Down”后,移除ACL并等待30s继续for的循环
本文出自 Frank's Blog

版权声明:


本文链接:SecureCRT + Python
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos