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

Posted 小秒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学以致用,python多线程备份数据库并删除旧的备份。相关的知识,希望对你有一定的参考价值。

 1 #!/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多线程备份数据库并删除旧的备份。的主要内容,如果未能解决你的问题,请参考以下文章

python多线程应用——DB2数据库备份

oracle data guard备库备份恢复

sh 删除旧的Timemachine备份脚本

python多线程自动备份华为H3C交换机配置和LOG

我有单位服务器数据库是SQLServer,每天用批处理自动备份数据库文件,如何用批处理方法删除旧的备份文件呢?

python 多进程下的日志打印