1 class BakDb(object): 2 def __init__(self,ip,username,passwd,port=3306,path=r'C:UsersBJQTDesktopdata_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()