花了几天的时间研究一下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