Python -Skript für MySQL -Datenbanksicherung

Python -Skript für MySQL -Datenbanksicherung

Dies ist ein einfaches Python -Skript, um MySQL -Datenbanken mithilfe des Dienstprogramms von MySQldump zu sichern. Dieses Skript wurde mit dem Python 3 getestet.5 und 2.7.15.

So verwenden Sie Skript

Dieses Skript ist dieses Skript sehr einfach zu verwenden, herunterzuladen oder zu kopieren, und führen Sie es mit Python aus. Dieses Skript ist in der Lage, mehrere Datenbanken Backup zu erhalten

Einzeldatenbanksicherung: Wenn Sie dieses Skript verwenden möchten, um eine einzelne Datenbanksicherung zu erhalten, bearbeiten Sie das Skript wie unten. Zum Beispiel ist der Datenbankname mydb.

 Db_name = 'mydb' 

Mehrere Datenbanken Sicherung: Erstellen Sie eine Textdatei wie /backup /dbnames, um mehrere Datenbanken Sicherungen zu erhalten.TXT und fügen Sie Datenbanken zu nennen pro Zeile wie unten

# Cat /Backup /dbnames.TXT Database1 mydb 

Und fügen Sie diese Datei zum Skript hinzu, wie unten wie unten.

 Db_name = '/backup/dbnames.txt' 

Sicherungsstandort ändern: Sie können die folgende Variable ändern, um den Speicherort des Backup -Pfades zu ändern.

 Backup_path = '/backup/dbbackup/' ' 

Python Mysql Backup -Skript

Klicken Sie hier oder verwenden Sie den Befehl unten, um das Skript von Github herunterzuladen, oder Sie können einfach das folgende Skript kopieren.

#!/usr/bin/python ############################################################################################################################### zu erhaltenann ##################Dieses Python -Skript wird für MySQL Database Backup#mit MySQLDUMP und TAR Utility verwendet. # # Geschrieben von: Rahul Kumar # Website: http: // tecadmin.NET # Erstelltes Datum: 03. Dezember 2013 # Last Modified: 17. August 2018 # getestet mit: Python 2.7.15 & Python 3.5 # Skriptrevision: 1.4############################################################################################################ zu erhalten |. Stellen Sie sicher, dass der Benutzer unten über genügend Berechtigungen verfügt, um Datenbanken Backup zu erhalten. # Um mehrere Datenbanken Sicherung zu erhalten, erstellen Sie jede Datei wie /backup /dbnames.TXT und setzen Sie Datenbanken ein und nennen eine in jeder Zeile und werden der DB_NAME -Variablen zugewiesen. Db_host = 'localhost' db_user = 'root' db_user_password = '_mysql_user_password_' #db_name = '/backup/dbnameslist.txt 'db_name =' db_name_to_backup 'backup_path ='/backup/dbbackup ' # Erhöhung der aktuellen DateTime zum Erstellen des separaten Sicherungsordners wie "20180817-123433". DateTime = Zeit.Strftime ('%y%M%d-%H%M%s') Todaybackuppath = backup_path + '/' + DateTime # Überprüfen, ob der Sicherungsordner bereits vorhanden ist oder nicht. Wenn nicht existiert, wird es geschaffen. Versuchen Sie: OS.stat (Todaybackuppath) außer: os.MKDIR (Todaybackuppath) # Code zum Überprüfen, ob Sie einzelne Datenbanksicherungen oder mehrere Sicherungen in DB_NAME übernehmen möchten. Drucken ("Überprüfen Sie die Datei für Datenbanken Namen.") Wenn os.Weg.existiert (db_name): file1 = öffnen (db_name) multi = 1 print ("Datenbankendatei gefunden ...") Print ("Sicherung aller in der Datei aufgeführten DBs" + db_name) else: print ("Datenbankendatei nicht gefunden ...") print ("Sicherung der Datenbank starten" + db_name) multi = 0 # Starten der tatsächlichen Datenbanksicherungsprozess. Wenn multi: in_file = open (db_name, "r") flength = len (in_file.Readlines ()) in_file.close () p = 1 dbFile = open (db_name, "r") während p " + Pipes.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (Dumpcmd) gzipcmd = "gzip" + Rohre.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (gzipcmd) p = p + 1 dbfile.close () else: db = db_name Dumpcmd = "mysqldump -h" + db_host + "-U" + db_user + "-p" + db_user_password + "" + db + ">" + Pipes.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (Dumpcmd) gzipcmd = "gzip" + Rohre.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (GZIPCMD) Print ("") Print ("Sicherungsskript abgeschlossen") Print ("Ihre Backups wurden in '" + Todaybackuppath + "' Verzeichnis" erstellt)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#!/usr/bin/python ############################################################################################################################### zu erhaltenann ###################Dieses Python -Skript wird für MySQL Database Backup#mit MySQLDUMP und TAR Utility verwendet.## geschrieben von: Rahul Kumar# Website: http: // tecadmin.NET# Erstelltes Datum: 03. Dezember 2013# Last Modified: 17. August 2018# getestet mit: Python 2.7.15 & Python 3.5# Skriptrevision: 1.4 ################################################################################################################################## zuraut ###########Importieren Sie die erforderlichen Python -Bibliotheken importieren osimport timeimport. Stellen Sie sicher, dass der Benutzer unten über genügend Berechtigungen verfügt, um Datenbanken Backup zu erhalten.# Um mehrere Datenbanken Sicherung zu erhalten, erstellen Sie jede Datei wie /backup /dbnames.TXT und setzen Sie Datenbanken ein und nennen eine in jeder Zeile und werden der DB_NAME -Variablen zugewiesen. Db_host = 'localhost' db_user = 'root'db_user_password =' ​​_mysql_user_password _ '#db_name ='/backup/dbnameslist.txt'db_name = 'db_name_to_backup'backup_path ='/backup/dbbackup ' # Das aktuelle DateTime abholt, um den separaten Sicherungsordner wie "20180817-123433" zu erstellen.DateTime = Zeit.Strftime ('%y%M%d-%H%M%s') Todaybackuppath = backup_path + '/' + DateTime # Überprüfen, ob der Sicherungsordner bereits vorhanden ist oder nicht. Wenn nicht existiert, wird es geschaffen.Versuchen Sie: OS.stat (Todaybackuppath) außer: os.MKDIR (Todaybackuppath) # Code zum Überprüfen, ob Sie einzelne Datenbanksicherungen oder mehrere Sicherungen in DB_NAME übernehmen möchten.Drucken ("Überprüfen Sie die Datei für Datenbanken Namen.") Wenn os.Weg.existiert (db_name): file1 = öffnen (db_name) multi = 1 print ("Datenbankendatei gefunden ...") Print ("Sicherung aller in der Datei aufgeführten DBs" + db_name) else: print ("Datenbankendatei nicht gefunden ...") print ("Sicherung der Datenbank starten" + db_name) multi = 0 # Starten der tatsächlichen Datenbanksicherungsprozess.Wenn multi: in_file = open (db_name, "r") flength = len (in_file.Readlines ()) in_file.close () p = 1 dbfile = open (db_name, "r") während p <= flength: db = dbfile.readline() # reading database name from file db = db[:-1] # deletes extra line dumpcmd = "mysqldump -h " + DB_HOST + " -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + Rohre.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (Dumpcmd) gzipcmd = "gzip" + Rohre.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (gzipcmd) p = p + 1 dbfile.close () else: db = db_name Dumpcmd = "mysqldump -h" + db_host + "-U" + db_user + "-p" + db_user_password + "" + db + ">" + Pipes.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (Dumpcmd) gzipcmd = "gzip" + Rohre.QUOTE (Todaybackuppath) + "/" + db + ".SQL "OS.System (GZIPCMD) Print ("") Print ("Sicherungsskript abgeschlossen") Print ("Ihre Backups wurden in '" + Todaybackuppath + "' Verzeichnis" erstellt)

Führen Sie das Python -Skript aus

Lassen Sie das Skript nach dem Herunterladen des Skripts mithilfe des folgenden Befehls ausführen

chmod +x dbbackup.py 

und führen Sie dieses Skript wie unten aus

Python2 dbbackup.py 

Sie können dieses Skript auch so planen. Fügen Sie den Befehl unten in Crontab hinzu.

0 2 * * */usr/bin/python dbbackup.py 

Lesen Sie mehr über Crontab unter 20 nützlichen Beispielen, um Jobs zu planen.

Danke! Zur Verwendung dieses Skripts. Wenn Sie einen Vorschlag für mein Skript haben, können Sie mir eine E -Mail senden oder unten einen Kommentar eingeben. Ihr Feedback hilft mir, es besser zu machen.