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.sql17 filename = str(datetime.date.today())+'.sql'18 abs_file = os.path.join(self.path,filename) #变成绝对路径19 # 路径不要有空格,否则SQL文件为空 C:\mysqldump.exe20 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()