MySql备份-导入

 1 #/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 import ConfigParser
 5 import os
 6 import subprocess
 7 import re
 8 import datetime
 9 
10 """
11 备份数据库
12 删除数据库
13 导入数据库
14 """
15 
16 mysqlbackup_Dir = 'mysqlbackup'  # 备份mysql的目录 默认在当前目录下创建这个目录
17 now_time = datetime.datetime.now().strftime('%Y-%m-%d_%H_%M')
18 query_data_file = '/tmp/log.mysqlDatabaseBackupForCoremail_%s' % now_time  # 输出的日志
19 
20 cf = ConfigParser.ConfigParser()
21 datasource = '/home/coremail/conf/datasources.cf'
22 cf.read(datasource)
23 mysql_bin = "/home/coremail/mysql/bin/mysql"
24 db_server = cf.get('cm_md_db', 'Server')
25 db_port = cf.get('cm_md_db', 'Port')
26 db_user = cf.get('cm_md_db', 'User')
27 
28 def get_mysql_password():  # 获取数据库的登陆密码
29     with open(datasource) as f:
30         for line in f:
31             password_line = re.search('([Ee]ncpassword)', line)
32             if password_line:  # 将加密的密码解密
33                 encpassword = line.strip().split('"')[1]
34                 db_password_stdout = subprocess.Popen('/home/coremail/bin/cmxdb decrypt %s' % encpassword, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
35                 db_password = db_password_stdout.stdout.readlines()[1]
36                 break
37             password_line2 = re.search('([Pp]assword)', line)
38             if password_line2: # 获取没有加密的密码
39                 db_password = line.strip().split('"')[1]
40                 break
41         return db_password
42 
43 
44 def connect_mysql(mysqlDatabase):
45     mysqlbackup_file = os.path.join(mysqlbackup_Dir, '%s_%s.sql' % (mysqlDatabase.strip('"'), now_time))
46     print '/home/coremail/mysql/bin/mysqldump -u%s -p%s -h%s -P%s --databases %s > %s' % (db_user, get_mysql_password().strip(), db_server, db_port, mysqlDatabase, mysqlbackup_file)
47 
48 def backup_mysql():
49     print "备份mysql数据库"
50 
51 
52 def delete_mysql_database():
53     pass
54 
55 def import_mysql_database():
56     pass
57 
58 
59 if __name__ == '__main__':
60     connect_mysql("cmxt")

 

posted @ 2021-01-15 14:01  leejay_python  阅读(171)  评论(0编辑  收藏  举报