python备份mysql数据库
介绍使用python结合mysqldump对mysql数据库进行备份
import os
import sys
import configparser
import time def test_file_path(fp):
if not os.path.exists(fp):
raise RuntimeError('file {} not found'.format(fp)) def backup_mysqldb(backup_param):
test_file_path(backup_param['mysql']['dump'])
test_file_path(backup_param['bak']['cmd_zip'])
cmd1 = '{dump} -u{user} -p{password} -h{hostip} \
-P{port} {dbname}'.format(**backup_param['mysql'])
print(cmd1)
backup_name = time.strftime('mysqlbackup%Y%m%d_%H%M%S')
backup_param['bak']['backup_name'] = backup_name
cmd2 = backup_param['bak']['cmd_bak'].format(**backup_param['bak'])
print(cmd2)
cmd = cmd1 + ' | ' + cmd2
print(cmd)
os.system(cmd) def del_old_backup(backup_param):
backup_path = backup_param['bak']['backuppath']
print(int(backup_param['bak']['keepday']))
t = time.time() - int(backup_param['bak']['keepday']) * 24 * 60 * 60
last_day = time.strftime('%Y%m%d', time.localtime(t))
for fn in os.listdir(backup_path):
fp = os.path.join(backup_path, fn)
print(fp)
if os.path.isfile(fp):
file_day = get_time_from_name(fn)
print(file_day, last_day)
if file_day < last_day:
print('del file ', fn)
os.remove(fp) def get_time_from_name(fn):
# mysqlbackup20140211_172713.7z
import re
pattern = r'.*(\d{8})_\d*'
m = re.match(pattern, fn)
return m.group(1) if __name__ == '__main__':
current_dir = sys.argv[0]
current_dir = os.path.abspath(current_dir)
current_dir = os.path.dirname(current_dir)
os.chdir(current_dir)
print(os.getcwd())
config = configparser.ConfigParser()
config.read_file(open(current_dir + r'\config.ini'))
for k,v in config.items():
for k1,v1 in v.items():
print('{}\n {}:{}'.format(k, k1, v1))
backup_mysqldb(config)
del_old_backup(config)
配置文件
[mysql]
hostip=localhost
user=root
password=12345
port=3306
dbname=test
dump=path_to_mysqldump.exe
[bak]
cmd_zip=.\7z.exe
cmd_bak={cmd_zip} a {backuppath}\{backup_name}.7z -si{backup_name}.bak
backuppath=.\backup
keepday=7
python备份mysql数据库的更多相关文章
- 使用Windows任务计划程序和Python备份Mysql数据库
目标:每日定时自动备份Mysql数据库 方案: 1.安装Python: 使用的Python版本是Python3.7.1,下载地址:https://www.python.org/downloads/re ...
- Python备份MySQL数据库【转】
#!/usr/bin/env python # coding: utf- import os import time ''' defined variable ''' databases=['hch' ...
- 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)
备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...
- 使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
- 实现定时备份mysql数据库并把备份数据库邮件发送
一.先来看备份mysql数据库的命令 1 mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql ...
- 【Python】使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
- 第9课:备份mysql数据库、重写父类、unittest框架、多线程
1. 写代码备份mysql数据库: 1)Linux下,备份mysql数据库,在shell下执行命令:mysqldump -uroot -p123456 -A >db_bak.sql即可 impo ...
- 使用shell脚本定时执行备份mysql数据库
使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...
- Python操作MySQL数据库(步骤教程)
我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...
随机推荐
- (转)linux常见故障一:linux 文件系统变只读
linux常见故障一:linux 文件系统变只读 原文:https://www.cnblogs.com/ginvip/p/6375672.html 1. 重启系统看是否可以自动修复. 2. 使用fsc ...
- 案例51-crm练习新增客户使用数据字典和ajax
1 案例效果 2 使用ajax加载数据字典下拉选-后台部分 1 domain部分-BaseDict package www.test.domain; public class BaseDict { / ...
- verilog if语句
a.基本形式 1) if(表达式) 语句1: 2)if(表达式) 语句1: else 语句1 3) if(表达式1) 语句1: else if(表达式2) 语句2: else if(表达式3) ...
- pat06-图4. Saving James Bond - Hard Version (30)
06-图4. Saving James Bond - Hard Version (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作 ...
- sqlmap注入技巧
收集了一些利用Sqlmap做注入测试的TIPS,其中也包含一点绕WAF的技巧,便于大家集中查阅,欢迎接楼补充.分享. TIP1 当我们注射的时候,判断注入 http://site/script?id= ...
- Python函数(2)
一.函数对象 函数是第一类对象:指的是函数名指向的值可以被当作数据去使用. 1.函数可以被引用 例如: 2.可以当作参数传递给另一个函数 例如: 3.可以当作一个函数的返回值 例如: 4.可以当作容器 ...
- ZR国庆Round2解题报告
心路历程 预计得分:100 + 10 - 20 + 10 = 120 实际得分:100 + 0 + 10 = 110 感觉这场打的挺稳的.开场秒掉A题,写+调差不多1h 然后刚T3暴力,刚完还有2h左 ...
- SAP常用函数
1.获取月末最后一天日期 DATA LAST_DATE TYPE SY-DATUM. CALL FUNCTION 'LAST_DAY_OF_MONTHS' EXPORTING day_in = sy- ...
- 常见O/R框架介绍
1.hibernate(JPA的一个实现,同时也有自己的特色)2.toplink3.jdo4.ibatis 4.JPA a)意愿统一天下
- C#设计模式--抽象工厂模式(创建型模式)
一.抽象工厂模式: 在工厂模式中具体的产品和具体的工厂是一一对应的,一个工厂只能生产一种产品,结构单一,例如小米公司刚开始是只生产小米手机,但是伴随着公司的发展,他们需要生产不同型号的手机,也会生产路 ...