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数据库为例,介 ...
随机推荐
- 电感的Q值
电感的Q值又称为品质因数,即在通过一定频率信号时,感抗与等效损耗之比.品质因数越高即系统损耗越小效率越高,一般为50`100,最高500左右,再大就会烧毁.一般Q值与很多因素有关:绕线粗细,长度与直径 ...
- Dropping tests
题目链接:http://poj.org/problem?id=2976 Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total S ...
- git使用笔记-比较分支差异
比如我们有 2 个分支:master, dev,现在想查看这两个 branch 的区别,有以下几种方式: 1.查看 dev 有,而 master 中没有的: git log dev ^master 同 ...
- matlab 图像和 opencv 图像的相互转换
matlab可以生成C++代码, 但是在涉及图像数据的时候,要注意数据格式的转换. 1. Matlab图像数据在内存中的存放顺序是R通道图,G通道图,B通道图.对于每个通道,数据存放是先列后行. 2. ...
- 利用nginx的fastcgi_cache模块来做缓存
nginx不仅有个大家很熟悉的缓存代理后端内容的proxy_cache,还有个被很多人忽视的fastcgi_cache. proxy_cache的作用是缓存后端服务器的内容,可能是任何内容,包括静态的 ...
- 【Python学习一】使用Python+selenium实现第一个自动化测试脚本
1.Python的下载 python官方下载地址:https://www.python.org/downloads/ 这边安装的3.6.5为最新版本以适应未来的需求 进入页面就有两个版本的下载选择,2 ...
- web页面实时刷新之browser sync
web开发对实时刷新的需求 在刚开始学习前端时每次修改文件内容后都需要手工刷新下浏览器来看效果,做的次数多了就特别难受,有时仅仅修改了一个字母都需要刷新下页面查看 之后接触到编写边看的集成IDE,文件 ...
- dapper.net框架使用随笔
一.简单介绍 Dapper是轻量级的ORM工具,代码就SqlMapper.cs一个文件,对于习惯使用原生的sql语句用户是个好选择,具有以下特性. 1.类似 ado.net 的写法,灵活拼接sql 2 ...
- EF Core 2.1 +数据库视图
1.参考文档 https://stackoverflow.com/questions/36012616/working-with-sql-views-in-entity-framework-core ...
- 102001 E
x轴上方给你n个点,m个水平杆子, 然后q组询问,每次询问一个点,问能看到多少个点. n,q<=40000,m<=5 自闭了呀,又写了个 for(int i=1;i<(1<&l ...