mysql database backup use python scripts

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

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() 

本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1174898,如需转载请自行联系原作者

相关文章
|
2月前
|
存储 关系型数据库 MySQL
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
140 1
|
2月前
|
SQL 前端开发 关系型数据库
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
62 0
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
|
17天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
117 15
|
2月前
|
关系型数据库 MySQL 数据库
mysql 8.0 递归(例子分享)(sample database classicmodels _No.4)
本文介绍了如何在MySQL8.0中使用递归查询处理部门表和员工表的树形结构数据,包括查看文档、准备数据、递归处理以及提取层级信息。作者通过示例展示了WITHRECURSIVE语句的应用及其在数仓中的结构表示。
49 2
|
2月前
|
安全 关系型数据库 MySQL
mysql8.0 正值表达式Regular expressions (sample database classicmodels _No.5)
本文介绍了MySQL8.0中的正值表达式及其相关函数,通过实例展示了如何使用正则表达式进行字符串匹配,并提出了关于执行效率的问题。
78 1
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
73 1
|
2月前
|
SQL 关系型数据库 MySQL
介绍5款 世界范围内比较广的 5款 mysql Database Management Tool
介绍5款 世界范围内比较广的 5款 mysql Database Management Tool
122 0
|
2月前
|
算法 关系型数据库 MySQL
复购率 mysql 实例(sample database classicmodels _No.1 )
复购率 mysql 实例(sample database classicmodels _No.1 )
35 0
|
3月前
|
SQL 关系型数据库 MySQL
30天拿下Python之使用MySQL
30天拿下Python之使用MySQL
53 0
|
3月前
|
关系型数据库 MySQL 数据管理
pymysql:Python操作MySQL数据库的又一利器
pymysql:Python操作MySQL数据库的又一利器
37 0