· 4 years ago · Sep 07, 2021, 10:56 PM
1import MySQLdb
2import os
3import datetime
4
5con = MySQLdb.connect(host='localhost', user='root', passwd='password', db='test')
6cur = con.cursor()
7
8cur.execute("SHOW TABLES")
9data = ""
10tables = []
11for table in cur.fetchall():
12 tables.append(table[0])
13
14for table in tables:
15 data += "DROP TABLE IF EXISTS `" + str(table) + "`;"
16
17 cur.execute("SHOW CREATE TABLE `" + str(table) + "`;")
18 data += "\n" + str(cur.fetchone()[1]) + ";\n\n"
19
20 cur.execute("SELECT * FROM `" + str(table) + "`;")
21 for row in cur.fetchall():
22 data += "INSERT INTO `" + str(table) + "` VALUES("
23 first = True
24 for field in row:
25 if not first:
26 data += ', '
27 data += '"' + str(field) + '"'
28 first = False
29
30
31 data += ");\n"
32 data += "\n\n"
33
34now = datetime.datetime.now()
35filename = str(os.getenv("HOME")) + "/backup_" + now.strftime("%Y-%m-%d_%H:%M") + ".sql"
36
37FILE = open(filename,"w")
38FILE.writelines(data)
39FILE.close()