mysql database backup use python scripts

本文介绍了一个使用Python编写的MySQL备份脚本,该脚本能够自动完成数据库的备份工作,并按预设周期清理旧备份文件。脚本通过mysqldump工具实现备份功能,支持自定义备份路径及保留天数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql database backup use python scripts


 
  1. #!/usr/bin/env python 
  2. #coding=utf8 
  3. #author : itnihao 
  4. #mail   : itnihao@qq.com 
  5. #source : http://code.taobao.org/p/python2/src/trunk/ 
  6. #version:1.0 
  7.  
  8. ''' 
  9. 功能:mysql备份。用mysqldump对mysql中各库进行备份 
  10. 1.user,pass,host,path,del参数为变量 
  11. 2.默认备份删除周期为5天,备份以天为单位 
  12. 3.默认备份路径为/mysql_backup,如果不存在会建立此目录 
  13. 4.用法为加执行权限,定时任务运行 
  14. ''' 
  15. import os,subprocess,datetime 
  16.  
  17. '''设置变量''' 
  18. MYSQL_USER = 'root' 
  19. MYSQL_PASS = 'pass' 
  20. MYSQL_HOST = 'localhost' 
  21. DEL_DAYS   = 5 
  22. BACK_PATH  = '/mysql_backup' 
  23.  
  24. '''''时间设置''' 
  25. CUR_TIME = datetime.date.today() 
  26. AGO_TIME = datetime.timedelta(days=DEL_DAYS) 
  27. DEL_TIME = CUR_TIME - AGO_TIME 
  28. DATABASE = '' 
  29.  
  30.  
  31. '''备份函数''' 
  32. def mysqldump(): 
  33.     if os.path.isdir(BACK_PATH): 
  34.         os.chdir(BACK_PATH) 
  35.     else
  36.         os.mkdir(BACK_PATH) 
  37.         os.chdir(BACK_PATH) 
  38.     database_cmd=subprocess.Popen("mysql -u%s -p%s -h%s -e 'show databases'|grep -v Database|grep -v information" %(MYSQL_USER,MYSQL_PASS,MYSQL_HOST),stdout=subprocess.PIPE,shell=True
  39.     DATABASE_NAME=database_cmd.stdout.read().split() 
  40.     for DATABASE  in DATABASE_NAME: 
  41.         MYSQLDUMP_FILENAME="/mysql_backup/%s%s.sql"%(CUR_TIME,DATABASE) 
  42.         subprocess.call("mysqldump -u%s -p%s -h%s %s>%s" %(MYSQL_USER,MYSQL_PASS,MYSQL_HOST,DATABASE,MYSQLDUMP_FILENAME),shell=True
  43.         if os.path.isfile('${DEL_TIME}${DATABASE}.sql'): 
  44.             subprocess.call("rm ${DEL_TIME}${DATABASE}.sql",shell=True
  45.  
  46. mysqldump() 

脚本下载地址http://code.taobao.org/p/python2/src/trunk/mysql_backup.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值