#!/usr/bin/python -- coding: utf-8 -- import os import re import tarfile import datetime import pexpect basedir='/data/bak/' # Folder iplist=['']# IP Address def get_list(txt_file): ret_list = [] fin = open(txt_file,'r') for line in fin: if (re.match('^\s*$',line)): # Skip blank lines continue else: line = line.lstrip() line = line.rstrip() # Enter (\n) Get rid of ret_list.append(line) #print('debug info of get_list :\n',ret_list) return ret_list def copysvn(filelist): # This function is mainly to complete dump name= [] name=os.path.split(filelist) now = datetime.datetime.now() filename = now.strftime(basedir+iplist[0] +name[-1]+ '%Y%m%d_%H%M%S.dump') os.system('svnadmin dump ' + filelist +' > '+filename ) tarname = now.strftime(basedir+iplist[0]+'_SVNDump_' +name[-1]+ '_%Y%m%d_%H%M%S.tar.gz') #print tarname tar = tarfile.open(tarname, 'w|gz') tar.add(filename) tar.close() scp = pexpect.spawn('scp -r ' + tarname + ' [email protected]:/data/databak/FilesBack/') scp.expect('.ssword:*') scp.sendline(' password ') scp.expect(pexpect.EOF, timeout=None) olddate = (now - datetime.timedelta(5)).strftime("%Y%m%d") print olddate for i in os.listdir(basedir): file = re.search(r'\w*[_](\d{8})[_]\d{6}.(tar.gz|dump)', i) #print i, file if file and olddate>=file.group(1): os.remove(basedir + file.group(0)) print 'del:', file.group(0) filelog=open("/data/bak/bak.log", "a") filelog.write("============DATE:%s============= \n"% now.strftime("%Y%m%d")) filelog.write("del file:%s \n" % (basedir+file.group(0) )) filelog.write("============DATE:%s============= \n"% now.strftime("%Y%m%d")) filelog.close() def copy_files(txt_file): geted_list = get_list(txt_file) for file in geted_list: copy_svn(file) if name == 'main': copy_files('/data/bak/filebak.txt') print '='20,'\ncopy_OKOKOK\n','='20 !/usr/bin/python -- coding: utf-8 -- import os import re import tarfile import datetime import pexpect basedir='/data/bak/' # Folder iplist=['']# IP Address def get_list(txt_file): ret_list = [] fin = open(txt_file,'r') for line in fin: if (re.match('^\s*$',line)): # Skip blank lines continue else: line = line.lstrip() line = line.rstrip() # Enter (\n) Get rid of ret_list.append(line) #print('debug info of get_list :\n',ret_list) return ret_list def copysvn(filelist): # This function is mainly to complete dump name= [] name=os.path.split(filelist) now = datetime.datetime.now() filename = now.strftime(basedir+iplist[0] +name[-1]+ '%Y%m%d_%H%M%S.dump') os.system('svnadmin dump ' + filelist +' > '+filename ) tarname = now.strftime(basedir+iplist[0]+'_SVNDump_' +name[-1]+ '_%Y%m%d_%H%M%S.tar.gz') #print tarname tar = tarfile.open(tarname, 'w|gz') tar.add(filename) tar.close() scp = pexpect.spawn('scp -r ' + tarname + ' [email protected]:/data/databak/FilesBack/') scp.expect('.ssword:*') scp.sendline(' password ') scp.expect(pexpect.EOF, timeout=None) olddate = (now - datetime.timedelta(5)).strftime("%Y%m%d") print olddate for i in os.listdir(basedir): file = re.search(r'\w*[_](\d{8})[_]\d{6}.(tar.gz|dump)', i) #print i, file if file and olddate>=file.group(1): os.remove(basedir + file.group(0)) print 'del:', file.group(0) filelog=open("/data/bak/bak.log", "a") filelog.write("============DATE:%s============= \n"% now.strftime("%Y%m%d")) filelog.write("del file:%s \n" % (basedir+file.group(0) )) filelog.write("============DATE:%s============= \n"% now.strftime("%Y%m%d")) filelog.close() def copy_files(txt_file): geted_list = get_list(txt_file) for file in geted_list: copy_svn(file) if name == 'main': copy_files('/data/bak/filebak.txt') print '='20,'\ncopy_OKOKOK\n','='20</pre>