继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python备份思科设备的脚本

jeck猫
关注TA
已关注
手记 426
粉丝 74
获赞 402

花了几天的时间研究一下Python,终于能折腾出一支可以备份思科设备的脚本。真心佩服那些码农的脑袋瓜。。。以下为备份的脚本

#!/usr/bin/eve python

import pexpect
import sys
import time
import datetime

class CiscoSwitch():


def __init__(self, host, username, password):
    self.username = username
    self.host = host
    self.password = password
def Login(self):
    self.child = pexpect.spawn('telnet '+self.host)
    self.child.expect('Username:')
    self.child.sendline(self.username)
    self.child.expect('Password:')
    self.child.sendline(self.password)
    self.child.expect('#')
    self.child.sendline('terminal length 0')
    self.child.expect('#')
    return (self.child, self.child.before)
def FtpBackupCmd(self,tftpip):
    self.child.sendline('copy running-config tftp:')
    self.child.expect(']?')
    self.child.sendline(tftpip)
    self.child.expect(']?')
    DATE = datetime.datetime.now().strftime('%Y-%m-%d‘)
    self.child.sendline(DATE+'-'+self.host)
    self.child.expect('#')
    return (self.child, self.child.before)
 if __name__ == '__main__':
    for ip in open('/opt/other/ip.txt') :
            Switch = CiscoSwitch(ip,'admin','Password.123')
            (obj,stdout) = Switch.Login()
            (obj,stdout) = Switch.FtpBackupCmd('172.16.200.201')
            print stdout

https://img2.mukewang.com/5b1e3a73000191ad06530415.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP