Blogbeitrag
09 | 052010
Automatisches Backup der WordPress-Datenbank
MySQLDumper und WP-Maintenance Mode gemeinsam nutzen.
Geschrieben von Stefan um 20:14 Uhr
Nichts ist für einen Webseitenbetreiber wichtiger, als ein aktuelles Backup seiner Daten zu haben. Denn was ist schlimmer als ein gut laufendes Projekt zu haben, welches ins Nirvana geschickt wird durch einen Servercrash? Viele Webseitenbetreiber sind im Besitz eines gemieteten Servers und nicht jeder Webmaster gibt einiges mehr an Geld aus für einen Managed Server. Somit ist man auch verantwortlich für das Backup der Daten auf dem Server. Und hier fängt meist das Dilemma an. Man kümmert sich nicht richtig um die Sicherung der Daten und vergisst dann vielleicht auch irgendwann dieses Thema, aber dies kann sich irgendwann rächen. Spätestens wenn der Server abschmiert oder vielleicht sogar ein Defekt in der Hardware vorliegt, kann das Geheule groß sein, wenn im schlimmsten Falle einige Jahre der Webseite einfach so mal ausgelöscht werden.
Dabei ist der Verlust der Daten der meist vorhandenen Datenbank noch am schlimmsten, da hier ja in der Regel alle Einstellungen z.B. von WordPress gespeichert werden, alle textliche Inhalte enthalten sind und alle wichtigen Informationen gespeichert werden, die den Blog oder die Webseite erst zum Leben erwecken. Die Datenbank wird auch täglich mit neuen Daten gefüttert, anders als die PHP- oder Bilddateien der Webseite. Man kann hier den Verlust der Datenbank gleichsetzen mit dem Verlust des Gehirns beim Menschen.
Backup der Datenbank
Hier kann man sich aber mittlerweile mit einfachen Mitteln sehr schnell vor einem solchen Supergau schützen. Eine sehr gute Möglichkeit, die ich selbst schon mehrere Jahre erfolgreich einsetze, ist die Sicherung der Datenbank mit Hilfe des kostenlosen Backupscripts „MySQLDumper“. Dieses kann auf jedem Server installiert werden, auf dem man Zugriff zur Datenbank hat und per FTP auf das Dateiverzeichnis seiner Webseite zugreifen kann. Somit ist es nahezu von jedem Webmaster nutzbar, da diese Funktionen auch Voraussetzung sind für das Betreiben einer Webseite oder eines Blogs.
Eine wichtige Funktion des Dumpers ist es, auch zeitgesteuerte automatische Backups der Datenbank anzulegen. Somit kommt man nicht mehr in die missliche Lage, das Backup zu vergessen und man hat immer ein aktuelles Backup, auf das man notfalls zurückgreifen kann.
Wartungsseite während Backup der Datenbank
In der Zeit, in der ich mich noch um die Sicherung von Foren gekümmert habe, war eine Unterfunktion des Dumpers sehr nützlich, nämlich das Forum in der Zeit der Datenbanksicherung in den Wartungsmodus zu versetzen. Somit konnte man sicherstellen, dass eine ordentliche Sicherung der Datenbank angelegt werden konnte, da in dieser Zeit keine weiteren Zugriffe auf die Datenbank möglich waren. So konnte z.B. kein angemeldeter Nutzer einen Beitrag schreiben, der dann nicht mehr im Backup vorhanden ist oder kein Plugin mehr statistische Daten in der Datenbank ablegen. Der weitaus wichtigere Punkt war aber, dass die gesamte Performance des MySQL-Servers für das Backup zur Verfügung gestanden hat. Denn ein solches Backup kann mitunter sehr viel Leistung verlangen je nach Größe der Datenbank. Und es gäbe keinen schlechteren Moment für den MySQL-Server zum abrauchen, als der Moment des Backups.
Damit das Forum aber in den Wartungsmodus versetzt werden konnte, musste dieses aber erst einmal eine solche Funktion mitbringen, was bei den meisten Plattformen auch der Fall war. Hier konnte dann im Dumper eine SQL-Anweisung eingetragen werden, mit der dann der Dumper sich automatisch um das Einschalten des Wartungsmodus kümmerte. Nun sind wir aber hier nicht in einer Forensoftware, sondern bei WordPress, also was tun?
Hier hat Frank Bültge schon im Jahre 2005 einen wichtigen Grundstein gelegt, als er sich um die Weiterentwicklung des Plugins „!Wartungsmodus“ kümmerte, welches mittlerweile bekannt ist unter dem Namen „WP Maintenance Mode“. Hier hatte man bisher schon die Möglichkeit, seinen Blog in den Wartungsmodus zu versetzen, wenn man z.B. Änderungen am Design vornimmt oder aber auch, wenn man ein Datenbankbackup durchführt. Nur musste man den Blog bisher immer manuell in den Wartungsmodus schicken, es gab keine Möglichkeit, dies automatisiert zu tun.
Mit der neuen Version 1.5.9 des Plugins hat sich dies aber jetzt geändert! Nun ist es auch möglich, dass der MySQLDumper mittels des Plugins von Frank Bültge einen WordPress-Blog abschaltet während des Backups der Datenbank. Und dies kann gerade für große Blogs mit einer gut gefüllten Datenbank von Vorteil sein, da hier ein Backup durchaus etwas Zeit in Anspruch nehmen kann.
Voraussetzungen für die Funktion
Um diese Funktion überhaupt nutzen zu können, müssen folgende Voraussetzungen erfüllt sein:
- Voll funktionsfähige Installation des MySQLDumpers. Hier gibt es ausführliche Hilfe im Supportforum des Dumpers. Es gibt hier viele Tutorials in Wort und Video und die Installation ist einfach durchzuführen.
- Funktionsfähige automatische Sicherung der Datenbank. Der Dumper muss bereits so eingerichtet sein, dass die automatische Backupfunktion läuft. Hierzu gibt es ebenfalls ein ausführliches Tutorial im Supportforum des Dumpers und jede Menge Hilfe.
- WP Maintenance Mode. Der WP Maintenance Mode muss installiert sein, außerdem muss er mit den nötigen Einstellungen für das Aussehen der Wartungsseite versehen sein. Hier ist zu erwähnen, dass für meinen folgenden Lösungsansatz kein eingerichteter Countdown genutzt werden muss, da wir dem Dumper diese Steuerung überlassen.
Einstellen der Funktion
Wir öffnen die Übersichtsseite unseres MySQLDumpers und gehen in die Konfiguration. Dort sehen wir unter dem Punkt „Datenbanken“ die beiden Punkte „Command before Dump“ und „Command after Dump“. Diese beiden Funktionen sind dazu da, dem Dumper zu sagen, was er vor der Sicherung der Datenbank tun soll und was nach der Sicherung. Hier speichern wir nun jeweils eine SQL-Anweisung ab, die den Wartungsmodus aktiviert bzw. deaktiviert.
Dazu klicken wir auf den Link „SQL-Befehle“. Hier haben wir in der Sparte „SQL-Befehle“ den Link „neuer Befehl“, den wir nun anklicken. Darunter öffnet sich dann ein Fenster, in dem wir erst einmal einen Namen vergeben für die Anweisung. In meinem Beispiel „Wartungsmodus aktivieren“ neben dem Namen wird das SQL-Kommando eingegeben.
Dabei nehmen wir folgendes Kommando:
UPDATE `wp-table`.`wp-praefix_options` SET `option_value` = '1' WHERE `wp-praefix_options`.`option_name` = 'wp-maintenance-mode-msqld';
Dieser Befehl muss nun aber an den rot markierten Stellen noch an die eigenen Bedürfnisse angepasst werden.
wp-table:
Hier kommt der Name der Datenbank hinein, in der Ihr Euer WordPress installiert habt. In meinem Beispiel heißt die Datenbank „beedy“.
Achtung! Diese Änderung müsst Ihr zweimal durchführen in dem SQL-Befehl!
wp-praefix-options:
Hier muss der Name der Tabelle „options“ Eurer WordPress-Datenbank genutzt werden, je nachdem welches Präfix Ihr in Eurer Datenbank nutzt. In der Regel ist hier der Name „wp_options“ in Gebrauch, wenn Ihr das Präfix nicht geändert habt.
Habt Ihr den SQL-Befehl nun angepasst, speichert Ihr den Befehl mit „save“ ab. Nun muss noch ein zweiter Befehl angelegt werden wie oben beschrieben, mit dem Ihr den Wartungsmodus noch deaktivieren könnt. Dazu nutzt Ihr folgenden SQL-Befehl:
UPDATE `wp-table`.`wp-praefix_options` SET `option_value` = '0' WHERE `wp-praefix_options`.`option_name` = 'wp-maintenance-mode-msqld';
Hier müsst Ihr die gleichen Punkte wie im ersten Befehl angepassen. Als Name bietet sich hier „Wartungsmodus deaktivieren“ an. Habt Ihr beide Befehle angelegt, sollte es so aussehen, wie auf meinen Screenshot.
Um sicher zu gehen, dass Eure SQL-Befehle funktionieren, könnt Ihr nun ganz oben in dem Dropdown-Feld neben „SQL-Befehle“ Eure angelegten Befehle auswählen und dann rechts auf „SQL-Befehl ausführen“ klicken.
Ist alles richtig eingegeben, werdet Ihr nach dem Befehl für das Aktivieren des Wartungsmodus sehen, das sich Euer Blog nun auch im Wartungsmodus befindet.
Habt Ihr beide Befehle getestet könnt Ihr zurückgehen in die eigentliche Konfiguration.
Hier wählen wir nun nur noch in der Kategorie „Datenbanken“ die jeweiligen Befehle aus:
Command before Dump → Wartungsmodus aktiviert
Command after Dump → Wartungsmodus deaktiviert
Danach darf nicht vergessen werden, die Einstellungen zu speichern! Habt Ihr das getan, wird zukünftig während der Sicherung der Datenbank Euer Blog in den Wartungsmodus versetzt und nach Beenden der Sicherung wieder freigeschaltet!
Vergesst aber bitte nicht, dass Euch diese Sicherung nichts bringt, wenn Ihr diese nur auf dem Server liegen lasst. MySQLDumper bietet hier z.B. die Möglichkeit an, das Backup der Datenbank per Email zu verschicken. Dies kann aber unter Umständen problematisch werden, je nach Größe des Backups. Und Eure restlichen Dateien wollen ja auch gesichert werden.
Kleiner Tipp am Rande
Da nicht jeder über mehrere Server verfügt, auf die man Backups automatisch verschieben kann, kann man hier ganz einfach die automatischen Backupdateien per FTP herunterladen. Hat man zusätzlich noch was an den Dateien von WordPress geändert, lohnt sich hier, den gesamten WordPress-Ordner Eures Webservers herunterzuladen. Somit hat man ein komplettes Backup seines Blogs inklusive der Datenbank.
Abschliessend möchte ich mich nochmals ganz herzlich bei Frank bedanken, der sich die Mühe machte und die zusätzliche Funktion in sein Plugin einbaute!
Meiner Meinung nach ist somit wieder ein Plugin ordentlich aufgewertet worden und stellt dem Benutzer weitere nützliche Funktionen zur Verfügung!
Beitragsdetails
Kategorie » WordPress «
Der Autor
Trackbacks: 4
Kommentare: 15
-
1
Tarik 09.05.2010 um 21:54 Uhr
Schöner Artikel!
Tatsächlich habe ich früher nie BackUps gemacht und so hat es meinen Blog mit damals vielleicht 15 Artikeln getroffen.
Ich war extrem angep***t, aber im Nachhinein bin ich froh darüber, denn mittlerweile habe ich einen etwas umfangreicheren Blog, von dem ich auch regelmäßig BackUps anlege.
Wenn ich ehrlich bin, mache ich die aber per Hand, da mir alles andere zu viel Arbeit war und damals beim ersten Versuch nicht auf Anhieb geklappt hat…
-
3
Tanja 09.05.2010 um 23:32 Uhr
Nette Anleitung die Du da zusammengebastelt hast, wirklich schön und ausführlich. Da hast Du auf jeden Fall ein dickes Lob verdient
Ich persönlich bleib aber trotzdem bei meinem kleinen und einfachen Script, das via Cronjob das alles außerhalb von WordPress ganz alleine und automatisch erledigt.
-
5
Chris 10.05.2010 um 12:55 Uhr
Klasse Tutorial, danke für die ausführliche Anleitung. Ich nutze bisher beides – Frank Bültges Wartungsmodus und MySQLDumper schon lange, nur nicht zusammen. Durch die Anpassung ist das meiner Meinung nach jetzt eine ideale Backup-Lösung, die den kleinen extra Aufwand wert ist.
-
7
Tanja 10.05.2010 um 17:43 Uhr
Mein Cronjob mit Script ist vom Provider erstellt und empfohlen. Werde da sicherlich nicht Hand dran anlegen und doppelt gemoppelt brauch ich das ganze Zeug natürlich nicht. Warum in die Ferne schweifen, wenn das Gute so nah liegt und so einfach ist.
Hab auch schon hin und wieder auf die Sicherungen zurückgegriffen, auch mit wirklich sehr großen Shop Datenbanken. Alles bestens
-
9
Jeffrey 10.05.2010 um 18:21 Uhr
Danke für die nette Anleitung, werde ich mir gleich mal noch speichern!
Ich habe schon oft vom MySQLDumper gelesen, ihn aber noch nie benutzt.
-
11
Tanja 11.05.2010 um 14:40 Uhr
Ja, das ist richtig, viel zu wenige machen sich um solche Dinge Gedanken und wenns dann mal brennt, dann aber richtig :lol:
Ich hatte am ersten Weihnachtsfeiertag das Problem, dass ich mir nen Trojaner gefangen habe und damit alle FTP Daten geschrottet waren. Wie gut, dass ich auch davon Sicherungen habe
-
12
Alexander 16.08.2011 um 17:08 Uhr
Hallo Stefan, erst einmal Danke für die ausführliche Anleitung. Datensicherung ist sicher ein heißes Eisen, denn gerade wer sich professionell mit Programmierung beschäftigt weiß, wie wichtig diese ist. Es ist wirklich sehr ärgerlich, wenn die Daten einfach weg sind und manchmal ist der Schaden nicht wieder gut zu machen. Der MySQLDumper ist sicher eine der besten Backup-Lösungen. Grüße Alex
-
14
Kerstin 06.11.2011 um 23:19 Uhr
Vielen Dank für die informativen Tips! Wenn ich all das früher gewusst hätte, hätte ich mir einigen Schaden an meinem Blogprojekt ersparen können. So wurde ich leider erst “aus dem Schaden klug”, aber wenigstens bin ich so auf diese Infos getroffen. Sehr gute Arbeit!
Info
Bevor Du einen Kommentar schreibst, solltest Du wissen, dass mein Blog "nofollow-free" ist, d.h. Du bekommst hier von mir einen echten Backlink auf Deine Seite.
Dafür nehme ich mir das Recht heraus, alle Links aus Deinem Kommentar zu entfernen, die alleine der Werbung dienen oder nur Pagerank abgreifen.
















1
Tweets die little beedy inside - Automatisches Backup der Wordpress-Datenbank erwähnt -- Topsy.com 10.05.2010 um 01:14 Uhr
[...] Dieser Eintrag wurde auf Twitter von webspitzel erwähnt. webspitzel sagte: Anleitung für automatisches Backup für WordPress – Datenbank http://icio.us/4jvclz [...]
2
wp-popular.com » Blog Archive » little beedy inside – Automatisches Backup der Wordpress-Datenbank 10.05.2010 um 02:19 Uhr
[...] more from the original source: little beedy inside – Automatisches Backup der WordPress-Datenbank Tags: backup, datenbank, [...]
3
WP Maintenance Mode & MySQLDumper – bueltge.de [by:ltge.de] 10.05.2010 um 11:38 Uhr
[...] Plugins ist es nun also möglich, dass man den Eintrag setzt und der Wartungsmodus ist aktiv. Eine anschauliche Anleitung gibt es bei Stefan, der sich an die Arbeit gemacht hat und ein bebildertes Tutorial erstellt hat. [...]
4
WP Maintenance Mode review, discussions, does it work, and ratings on Loadwp.com | Loadwp.com 18.08.2011 um 02:36 Uhr
[...] = How to: Backup with maintenance mode and MySQLDumper (illustrated Tutorial in german language) = Please visit Automatisches Backup der WordPress-Datenbank [...]