mysql database backu
短信预约 -IT技能 免费直播动态提醒
mysql database backup use python scripts
- #!/usr/bin/env python
- #coding=utf8
- #author : itnihao
- #mail : itnihao@qq.com
- #source : http://code.taobao.org/p/python2/class="lazy" data-src/trunk/
- #version:1.0
-
- '''
- 功能:mysql备份。用mysqldump对mysql中各库进行备份
- 1.user,pass,host,path,del参数为变量
- 2.默认备份删除周期为5天,备份以天为单位
- 3.默认备份路径为/mysql_backup,如果不存在会建立此目录
- 4.用法为加执行权限,定时任务运行
- '''
- import os,subprocess,datetime
-
- '''设置变量'''
- MYSQL_USER = 'root'
- MYSQL_PASS = 'pass'
- MYSQL_HOST = 'localhost'
- DEL_DAYS = 5
- BACK_PATH = '/mysql_backup'
-
- '''''时间设置'''
- CUR_TIME = datetime.date.today()
- AGO_TIME = datetime.timedelta(days=DEL_DAYS)
- DEL_TIME = CUR_TIME - AGO_TIME
- DATABASE = ''
-
-
- '''备份函数'''
- def mysqldump():
- if os.path.isdir(BACK_PATH):
- os.chdir(BACK_PATH)
- else:
- os.mkdir(BACK_PATH)
- os.chdir(BACK_PATH)
- 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)
- DATABASE_NAME=database_cmd.stdout.read().split()
- for DATABASE in DATABASE_NAME:
- MYSQLDUMP_FILENAME="/mysql_backup/%s%s.sql"%(CUR_TIME,DATABASE)
- subprocess.call("mysqldump -u%s -p%s -h%s %s>%s" %(MYSQL_USER,MYSQL_PASS,MYSQL_HOST,DATABASE,MYSQLDUMP_FILENAME),shell=True)
- if os.path.isfile('${DEL_TIME}${DATABASE}.sql'):
- subprocess.call("rm ${DEL_TIME}${DATABASE}.sql",shell=True)
-
- mysqldump()
脚本下载地址http://code.taobao.org/p/python2/class="lazy" data-src/trunk/mysql_backup.py
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341