当前位置:Gxlcms > 数据库问题 > 学以致用,python多线程备份数据库并删除旧的备份。

学以致用,python多线程备份数据库并删除旧的备份。

时间:2021-07-01 10:21:17 帮助过:2人阅读

#!/usr/bin/python 2 # -*- coding=utf-8 -*- 3 import time 4 import os 5 import datetime 6 import threading 7 from time import ctime,sleep 8 9 date=time.strftime(%Y-%m-%d,time.localtime(time.time())) 10 dbname=(test,test2) #定义元组必须要有多个,要不则循环里面的字符。 11 dbname2=(test3,test4) 12 bkdir="/backup/mysqlbk/" 13 14 #删除超过3天的备份文件 15 now_time = datetime.datetime.now() 16 yes_time = now_time + datetime.timedelta(days=-3) 17 out_time = yes_time.strftime(%Y-%m-%d) 18 19 20 21 22 def dumpsql(): 23 for i in dbname: 24 os.system("/usr/local/mysql/bin/mysqldump -u%s %s | gzip > %s%s" % ("root",i,bkdir,date+"."+i+".sql.gz")) 25 26 def dumpsql2(): 27 for i in dbname2: 28 os.system("/usr/local/mysql/bin/mysqldump -u%s %s | gzip > %s%s" % ("root",i,bkdir,date+"."+i+".sql.gz")) 29 30 31 def outbk(): 32 for i in dbname: 33 if os.path.exists(bkdir+out_time+.+i+.sql.gz): 34 os.remove(bkdir+out_time+.+i+.sql.gz) 35 36 #双线程 37 threads=[] 38 t1 = threading.Thread(target=dumpsql) 39 threads.append(t1) 40 t2 = threading.Thread(target=dumpsql2) 41 threads.append(t2) 42 43 if __name__ == "__main__": 44 outbk() 45 for t in threads: 46 t.setDaemon(True) #启动多线程 47 t.start() 48 t.join() 49 print ("all over %s" %ctime())

 

学以致用,python多线程备份数据库并删除旧的备份。

标签:

人气教程排行