清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/usr/bin/env python
#coding:utf-8
"""
Author: Edward.Zhou -- <edgeman_03@163.com>
Purpose: 批量自动备份思科交换机配置文件
Created: 2015/5/8
"""
import sys
import os
import telnetlib
import time
import threading
import datetime
#Use for loop to telnet into each routers and execute commands
class Bakconf(threading.Thread):
def __init__(self,host,username,password):
threading.Thread.__init__(self)
self.host=host
self.username=username
self.password=password
def run(self):
try:
tn = telnetlib.Telnet(self.host,port=23,timeout=10)
except:
print "Can't connection %s"% self.host
return
tn.set_debuglevel(5)
tn.write(self.username +b"\n")
tn.write("en\n")
tn.write(self.password + b"\n")
tn.write("copy startup-config tftp:\n")
tn.write(tftpser + b"\n")
tn.write(b"\n")
time.sleep(1)
tn.write("exit\n")
tn.close()
def main():
username = "**********"
password = "**********"
global tftpser
tftpser="192.168.103.71"
for host in open(r'sw.txt').readlines():
dsthost = host.strip('\n')
bakconf=Bakconf(dsthost, username, password)
bakconf.start()
#Backup switch config and tar
time.sleep(1)
dtime=datetime.datetime.now().strftime("%Y%m%d%H%M%S")
os.popen('tar -cjf /backup/cisco/switch-'+dtime+'.tar.bz2 '+ '/tftproot')
os.popen('rm -fr /tftproot/*')
os.popen('find /backup/cisco/ -mtime +90 -exec rm {} \;')
if __name__=="__main__":
main()