Das Backups wichtig sind, sollte sich inzwischen herumgesprochen haben. Gerade bei Webprojekten ist es nötig, regelmäßig einen Dump der Datenbank zu erstellen, um dann im Notfall Zugriff darauf zu haben.
Das Problem
Das Erstellen eines MySQL Dumps ist bei den meisten Webhosting Anbietern nicht wirklich ein Problem, da phpMyAdmin bei so ziemlich jedem Webhosting Paket mit dabei ist oder nachinstalliert werden kann. Für das Erstellen und Einspielen von Backups eignet sich phpMyAdmin allerdings nur bedingt. Denn wenn es sich um große Dumps handelt, bricht PHP die Bearbeitung aufgrund der Laufzeitbeschränkung ab. In solchen Fällen stehen einige Provider zwar mit gutem Support beiseite und spielen auch mal eben einen Dump ein. Doch das hat Grenzen und ist außerdem auf Dauer sehr unpraktisch. Ein Backup zu automatisieren und einen großen Dump zu erstellen ist kein Problem, sofern man echten Zugriff auf den Server hat. Mit echter Zugriff ist gemeint, dass man sich über die Konsole einloggt und auch weiß was man da tut. In diesem Fall kann man sich ein Backup Script schreiben und das per Cron automatisieren.
Dieser Artikel richtet sich an Webmaster, die keinen Zugriff auf die Konsole haben oder einfach eine andere etwas komfortablere Art kennen lernen möchten, ihre Datenbank Backups zu erstellen bzw. zu automatisieren.
Lösungsansätze
Es gibt einige kleine Scripte, die trotz PHP-Laufzeitbeschränkung in der Lage sind, vollständige Datenbankbackups zu erstellen. Die Lösungsansätze unterscheiden sich ein wenig. Einige Scripte versuchen den Dump einfach in kleinen Schritten zu erstellen und andere Scripte rufen ein Perl Script auf, welches dann wiederum keiner Laufzeitbeschränkung unterliegt. Die Lösungsansätze lassen wir in diesem Artikel beiseite, da wir uns auf die Lösung konzentrieren wollen. Die Lösung, die sich aus meiner persönlichen Erfahrung als zuverlässig und praktikabel herauskristallisiert hat heißt MySQL Dumper.
Die Lösung: MySQLDumper
Mit MySQLDumper ist es möglich, große Datenbankbackups zu erstellen und diese auch automatisiert durchzuführen. MySQLDumper ist gut dokumentiert, mehrsprachig, einfach zu bedienen und steht kostenfrei zur Verfügung.
Installation von MySQLDumper
Die Installation von MySQL Dumper ist sehr einfach und intuitiv zu bewältigen. Nach dem Download des kleinen Paketes, muss der Inhalt auf den Webserver übertragen werden. Wenn das erfolgt ist, kann das Installscript
install.php im Browser aufgerufen werden. Das Script fragt die Sprache ab, in der MySQLDumper verwendet werden soll und prüft dann die Verbindung zur Datenbank. Wenn die Datenbankverbindung steht, kann mit der Konfiguration fortgefahren werden.
Zugriffsschutz
Es ist empfehlenswert, das Verzeichnis, in dem MySQLDumper installiert ist, via .htaccess zu schützen. Existiert dieser Schutz nicht, kann jeder, der die Adresse kennt, ein Backup erstellen und einen Dump herunterladen.
Statusübersicht
Die Oberfläche des kleinen Scripts ist übersichtlich gestaltet. Die Menüpunkte sind klar benannt und auch die Konfiguration ist denkbar einfach.
Unter Home befindet sich eine Übersicht mit Statusinformationen, auf der angezeigt wird, welche Version von MySQL Dumper installiert ist, wie PHP konfiguriert ist, ob der Verzeichnisschutz angelegt ist und welche Backups bereits erstellt worden sind. Darüber hinaus werden auf Wunsch Informationen zu Datenbanken und MySQL Variablen ausgegeben.
Wichtiger für Webmaster ist jedoch der Menüpunkt Konfiguration. Dort werden im Vorfeld sämtliche Einstellungen für das Backup festgelegt. Die meisten Einstellungen sind selbsterklärend, aus diesem Grund werde ich nur auf die wichtigsten eingehen.
Konfiguration
Hier können die Datenbanken festgelegt werden, die von MySQLDumper gesichert werden sollen. Das Script ist in der Lage, mehrere Datenbanken zu sichern, sofern diese vom selben Benutzer sind und sich auf dem selben Server befinden. Darüber hinaus kann hier festgelegt werden, ob Logfiles angelegt werden und wie groß diese werden dürfen. Die Geschwindigkeitskontrolle macht es möglich das Backup etwas zu bremsen, um Lastspitzen auf dem Server zu vermeiden. MySQLDumper kann die Dump, sofern der Server das unterstützt, auch gleich komprimieren und splitten, das spart Speicherplatz und macht die Verarbeitung unter Umständen etwas leichter.
Nachdem MySQL Dumper ein Backup erstellt hat, gibt es die Möglichkeit es weiter zu verarbeiten. Das Script kann automatisch jedes Backup per E-Mail an zuständige Mitarbeiter senden oder via FTP auf bis zu drei anderen Server positionieren. Ich persönliche empfehle es die Möglichkeiten zu kombinieren. Wer einmal einen unwiederbringlichen Datenverlust hatte, der weiß, dass man in Sachen Backup nicht paranoid genug sein kann.
Werden keine E-Mail Adressen und keine FTP Server angegeben, landet das Backup nur im Verzeichnis
work/backup, welches sich im Installationsverzeichnis von MySQL Dumper befindet.
Backups erstellen
Im Menüpunkt Backup befindet sich die wichtigste Funktion, denn hier können Backups manuell erstellt werden. Es gibt die Wahl zwischen einem Backup via PHP oder Perl. Perl ist vorzuziehen, denn das Perl Script kann extern über den Webbrowser oder über einen Cronjob aufgerufen werden.
Backup via externem Cronjob
Die meisten Provider bieten ihren Kunden an ein Cript per Cronjob auszuführen. Für MySQLDumper bedeutet das, dass hier ein externer Cronjob zum Einsatz kommt. Die Adresse, die der Cronjob aufrufen muss, befindet sich unter dem Text Aufruf im Browser und setzt sich aus dem Installationsordner und der Domain zusammen, auf der das Script installiert ist.
Sollte der Provider keinen Cronjob anbieten, kann auf den kostenlosen Anbieter Cronjob.de zurückgegriffen werden oder möglicherweise ein Cronjob gegen Aufpreis beim eigenen Provider dazu gebucht werden.
Fazit
Sicherheit und Absicherung ist beim Umgang mit Daten das A und O.
Datenbankbackups sind also ein Muss.
Zum Erstellen von großen Backups muss sich aber niemand mehr selber den Kopf zerbrechen – denn die fertige Lösung existiert bereits. MySOL Dumper heißt die Lösung. Aus meiner Sicht ist das MySQL Dumper eine optimale Lösung um einfach und vor allem auch automatisiert große Backups zu erstellen.
MySQLDumper ist OpenSource und steht kostenfrei zum Download bereit. Das Projekt finanziert sich durch Werbung auf der Internetseite und durch Spenden. Informationen wie das Projekt unterstützt werden kann befinden sich auf der Seite
Support MySQLDumper