zoukankan      html  css  js  c++  java
  • python多线程备份MYSQL数据库并删除旧的备份。

     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())
  • 相关阅读:
    #455. 【UER #8】雪灾与外卖
    lmh's邻位交换总结
    [ARC088C] Papple Sort
    【模板】二次剩余
    P3241 [HNOI2015]开店
    P4248 [AHOI2013]差异
    P6640 [BJOI2020] 封印
    【笔记】牛客、产品笔试题
    【笔记】TX笔试-压缩算法
    【笔记】分组
  • 原文地址:https://www.cnblogs.com/cp-miao/p/5514340.html
Copyright © 2011-2022 走看看