文档章节

利用secrt终端半自动化管理

tonyjia87
 tonyjia87
发布于 2014/07/23 13:01
字数 514
阅读 31
收藏 0
# $language = "Python"
# $interface = "1.0"

# -*- coding: gbk -*-
cmds = {
    '5800':{'waituser':'Username',
            'user':'admin\r',
            'waitps':'assword',
            'password':'appled\r',
            'waitsigner':'>',
            "cmd1":'display current-configuration\r',
            'cmd2':'dis device manuinfo | include DEVICE\r',
            'cmd3':'display ip inter brief\r',
            'cmd4':'display inter brief\r',
            'cmd5':'display mac-address\r',
            'cmd6':'display clock\r',
            'qu':'qu\r',
            'iplist':{'192.168.240.2':'鹿煤录脪脢戮路露脟酶脪碌脦帽PC-P-C202-3-3-NSW03',
                      


                    },
            },
    '5120':{'waituser':'Username',
            'user':'admin\r',
            'waitps':'assword',
            'password':'appled\r',
            'waitsigner':'>',
            'cmd1':'display current-configuration\r',
            'cmd2':'dis device manuinfo \r',
            'cmd3':'display ip inter brief\r',
            'cmd4':'display brief inter \r',
            'cmd5':'display mac-address\r',
            'cmd6':'display clock\r',
            'qu':'qu\r',
            'iplist':{'192.168.240.3':'鹿煤录脪脢戮路露脟酶鹿脺脌铆PC-P-C202-3-3-NSW01',
                        '192.168.240.4':'鹿煤录脪脢戮路露脟酶ipmiPC-P-C202-3-3-NSW05',
                        '192.168.240.7':'鹿煤录脪脢戮路露脟酶鹿脺脌铆PC-P-C202-C-6-5-NSW01',

                    },
            },

    '55102':{'waituser':'Username',
            'user':'admin\r',
            'waitps':'assword',
            'password':'appled\r',
            'waitsigner':'>',
            'cmd1':'display current-configuration\r',
            'cmd2':'dis device manuinfo | include DEVICE\r',
            'cmd3':'display ip inter brief\r',
            'cmd4':'display inter brief\r',
            'cmd5':'display mac-address\r',
            'cmd6':'display clock\r',
            'qu':'qu\r',
            'iplist':{'192.168.240.5':'鹿煤录脪脢戮路露脟酶脪碌脦帽碌露脝卢YPT-202-6-5-BSW01',
                        '192.168.240.6':'鹿煤录脪脢戮路露脟酶麓忙麓垄碌露脝卢YPT-6-5-202-BSW03',

                    },
            },

    'ciscofc':{'waituser':'login',
            'user':'admin\r',
            'waitps':'assword',
            'password':'apple@123\r',
            'waitsigner':'#',
            'cmd1':'show running-config\r',
            'cmd2':' show module \r',
            'cmd3':'show ip interface \r',
            'cmd4':'show int brief \r',
            'cmd5':'show port-license\r',
            'cmd6':'show clock\r',
            'qu':'exit\r',
            'iplist':{'192.168.240.8':'鹿煤录脪脢戮路露脟酶麓忙麓垄ciscofc PC-P-C202-C-3-3-FSW01',
        
                    },
            },
}


#print cmds['55102']['user']
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def whoel(command):
    crt.Screen.Send(command)
    while True:
            if crt.Screen.WaitForString("More",5):
                crt.Screen.Send(" ")
            else :
                break 

def main(ios):
    crt.Screen.Synchronous = True
    for i in cmds[ios]['iplist'].keys() :
        crt.Session.LogFileName = ('Telnet %s' %(i))
        
    #crt.Session.LogFileName = ('TELNET whoel 192.168.240.4 23.txt')
        crt.Session.Log(True,True)

    # connect to host on port 23 (the default telnet port)
    #
    #crt.Session.Connect("TELNET 172.16.25.254 23")
        crt.Screen.Send("TELNET %s 23 \r" %(i))
        if crt.Screen.WaitForString('Press')==-1:
            whoel(cmds[ios]['qu'])
            crt.Session.Log(False)
            crt.Screen.Synchronous = False
            
        else:
            crt.Screen.WaitForString(cmds[ios]['waituser'])
            crt.Screen.Send(cmds[ios]['user'])

            crt.Screen.WaitForString(cmds[ios]['waitps'])
            crt.Screen.Send(cmds[ios]['password'])

            crt.Screen.Synchronous = False
            crt.Screen.WaitForString(cmds[ios]['waitsigner'])
            whoel(cmds[ios]['cmd1'])
            whoel(cmds[ios]['cmd2'])
            whoel(cmds[ios]['cmd3'])
            whoel(cmds[ios]['cmd4'])
            whoel(cmds[ios]['cmd5'])
            whoel(cmds[ios]['cmd6'])
            whoel(cmds[ios]['qu'])
            crt.Session.Log(False)
            crt.Screen.Synchronous = False
#main('ciscofc')
main('5800')
main('5120')
main('55102')
main('ciscofc')


© 著作权归作者所有

共有 人打赏支持
上一篇: suse 上做vlan_tag
下一篇: sshpass python
tonyjia87
粉丝 0
博文 3
码字总数 1523
作品 0
浦东
私信 提问
手机需要,哪位大神帮编个Python脚本,谢谢

我手机是ppc,己安装有py平台,现在需要个pyc程序,但我对python编辑脚本认识很少,不知哪位大神帮我编个py脚本,非常感谢。要求很简单,就是要求从内存卡的路径【图1】:Storage CardProgram...

东方哈哈
2011/10/31
823
5
使用docker实现半自动化代码自动部署与回滚

最近开发docker的caas平台,目前已经开发完成,在优化性能与套模板。对于docker最近是很好,很多人把docker做为vm来使用,当然作为测试来说是没问题,但我感觉docker本身在做沙箱、自动化部署...

dl528888
2015/08/17
0
0
从零打造B/S 自动化运维平台 (一、自动化运维平台的应用及业务流程)

背景以及需求: 随着企业业务的不断发展,运营方面,如何保障业务的高可用及服务质量?很多企业处于“半自动化”状态,一但出现故障,技术部人员都会加入“救火”的行列,不仅浪费人力物力,...

菜鸟的征程
2017/11/09
0
0
被邮件淹没的你,可以用 Mac 原生邮箱的规则进行半自动处理

被邮件淹没的你,可以用 Mac 原生邮箱的规则进行半自动处理 少数派2017-12-282 阅读 处理规则mac邮箱邮件 早晨,我例行整理邮箱,瞥见了 180 封未处理的提醒(本周)。我没有打开过其中的任何...

少数派
2017/12/28
0
0
Objective-C 内存管理精髓

之前写过类似的文章,这篇以做总结,希望能帮助刚上船的兄弟。_ iPhone系统中的Objective-C的内存管理机制是比较灵活的,即可以拿来像C/C++一样用,也可以加个AutoreleasePool让它升级为半自...

Jeans
2012/07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
21分钟前
1
0
可重入锁和非可重入锁

广义上的可重入锁指的是可重复可递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁(前提得是同一个对象或者class),这样的锁就叫做可重入锁。 可重入锁: ReentrantLoc...

狼王黄师傅
26分钟前
1
0
2018-11-20学习笔记

1. python数据类型: 给变量赋值什么样的值,变量就是什么样的类型 给变量赋值整数,变量就是整数类型 给变量赋值字符串,变量就是字符串类型 123 和“123”一样吗? 在python中 单引号 与双...

laoba
39分钟前
1
0
使用 React 和 Vue 创建相同的应用,他们有什么差异?

在工作中应用 Vue 之后,我对它有了相当深刻的理解。 不过,俗话说「外国的月亮比较圆」,我好奇「外国的」 React 是怎么样的。 我阅读了 React 文档并观看了一些教程视频,虽然它们很棒,但...

阿K1225
49分钟前
2
0
2天闭门培训|以太坊智能合约从入门到实战(北京)

2天培训 16个课时 探寻技术原理,精通以太坊智能合约开发 以太坊智能合约是现在应用的最广泛的区块链应用开发方式,HiBlock区块链社区针对以太坊智能合约的学习特别推出2天闭门研修班,通过2...

HiBlock
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部