#!/usr/bin/python # -*- coding: utf-8 -*- import osimport reimport tarfileimport datetimeimport pexpectbasedir='/data/bak/' #文件夹 iplist=['']# IP地址 def get_list(txt_file): ret_list= [] fin= open(txt_file,'r') for linein fin: if (re.match('^\\s*$',line)): #跳过是空白的行 continue else: line= line.lstrip() line= line.rstrip() #将回车(\n)去掉 ret_list.append(line) #print('debug info of get_list :\n',ret_list) return ret_list def copy_svn(filelist):#这个函数主要是完成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 + ' root@IP:/data/databak/FilesBack/') scp.expect('.ssword:*') scp.sendline('密码') scp.expect(pexpect.EOF, timeout=None) olddate= (now- datetime.timedelta(5)).strftime("%Y%m%d") print olddate for iin 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 osimport reimport tarfileimport datetimeimport pexpectbasedir='/data/bak/' #文件夹iplist=['']# IP地址def get_list(txt_file): ret_list= [] fin= open(txt_file,'r') for linein fin: if (re.match('^\\s*$',line)): #跳过是空白的行 continue else: line= line.lstrip() line= line.rstrip() #将回车(\n)去掉 ret_list.append(line) #print('debug info of get_list :\n',ret_list) return ret_list def copy_svn(filelist):#这个函数主要是完成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 + ' root@IP:/data/databak/FilesBack/') scp.expect('.ssword:*') scp.sendline('密码') scp.expect(pexpect.EOF, timeout=None) olddate= (now- datetime.timedelta(5)).strftime("%Y%m%d") print olddate for iin 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© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END












暂无评论内容