1 class BakDb(object):
2 def __init__(self,ip,username,passwd,port=3306,path=r'C:\Users\BJQT\Desktop\data_back'):
3 self.ip = ip
4 self.username = username
5 self.passwd = passwd
6 self.port = port
7 self.path = path
8 self.path_exist()
9 self.bak_db()
10
11 def path_exist(self):
12 if not os.path.isdir(self.path): #判断路径是否存在,不存在就创建
13 os.mkdir(self.path)
14
15 def bak_db(self):
16 # mysqldump - u%s - p%s -P%s -h%s - A > XXX.sql
17 filename = str(datetime.date.today())+'.sql'
18 abs_file = os.path.join(self.path,filename) #变成绝对路径
19 # 路径不要有空格,否则SQL文件为空 C:\mysqldump.exe
20 command =r'''
21 C:\mysqldump.exe -u{username} -p{passwd} -P{port} -h{ip} -A > {filename}
22
23 '''.format(username = self.username,
24 passwd = self.passwd,
25 port= self.port,
26 filename = abs_file,
27 ip = self.ip)
28 os.system(command)
29 print('done!数据库备份完成!')
30
31 db1 = BakDb('172.19.23.191','root','123456')
32 db1.bak_db()