Home > Internet & Co., Software - Fundstücke, WordPress > Anleitung Datenbanken automatisch sichern

Anleitung Datenbanken automatisch sichern

Egal welches datenbankbasierte Webprojekt man betreut (Blog, Forum, Shop, CMS, … von einem kann man nie genug haben: Backups! Schnell passiert mal ein Fehler und nichts ist schlimmer als die Beiträge einiger Tage zu verlieren. Ein Backup händisch anzulegen vergisst man ja auch gerne mal… Bei meinen Projekten unterstützt mich das freie Skript “MySQLDumper“. Um das Ganze zu automatisieren, benötigt man ausserdem noch Cron-Jobs. Diese werden vom Webhoster Deiner Wahl angeboten, bzw. sind bereits im Paket enthalten. Hier mal ein kleines “How-To” wie man das Script einsetzt. Nach dem Download das Zip-File entpacken. Den Ordner “mysqldumper” mit allen Unterordnern und Dateien per FTP ins Rootverzeichnis hochladen.

md1

Die Dateien “crondump.pl – perltest.pl – simpletest.pl” müssen in das “cgi-bin”-Verzeichnis* (*es kann auch sein, dass das Verzeichnis je nach Hoster variiert) geladen werden. Als Rechte 755 vergeben.

md3

Per Hand erstellen wir im gerade hoch geladenen Ordner “mysqldumper” den Ordner “work” und darin die Unterordner “backup”, “config” und “structure”. Für alle Ordner vergeben wir die Rechte “777″

md4

Jetzt rufen wir die Installationsroutine des Scriptes unter http://www.meineDomain.de/mysqldumper/install auf.

md2

Die Sprache auswählen und auf den Button “installation” klicken. Im ersten Schritt der Installation müssen wir die Logindaten der Datenbank angeben.

md5

Wenn die Verbindung hergestellt werden konnte geht es per “speichern und Installation fortsetzen” weiter.

md6

Jetzt sollte uns die Startmaske des Scriptes anstrahlen

md7

Uns wird dringend ans Herz gelegt einen Verzeichnisschutz zu erstellen, denn bis jetzt kann jeder, der weiss oder ahnt wo das Script liegt, es aufrufen! Nach einem Klick auf “Verzeichnisschutz erstellen” dürfen wir uns Zugangsdaten einfallen lassen…

md8

Wahrscheinlich kommt die Meldung, dass ein Fehler bei der Erstellung des Verzeichnisschutzes aufgetreten ist und wir ihn händisch anlegen sollen. Die Dateinamen sowie der Inhalt der Datei wird uns angezeigt. Ist also wie früher in der Schule beim Abgucken, bzw. in der heutigen Zeit copy/paste.

md9

Nach dem Erstellen der Dateien .htaccess und .htpasswd laden wir diese per FTP in der Verzeichnis “mysqldumper”.

md10

Wir rufen das Script unter http://www.meineDomain.de/mysqldumper/ auf und werden gebeten uns mit den gerade vergebenen Zugangsdaten einzuloggen. Das Script sowie die erstellten Backups sind jetzt vor unbefugtem Zugriff geschützt. Wir können beruhigt schlafen! Nachdem wir kurz eingenickt sind, fällt uns ein, dass das Script zwar geschützt ist, wir aber noch immer kein Backup erstellt, geschweige denn die Backuperstellung automatisiert haben. Also nochmal ran… In der Navigation rufen wir den Punkt “Konfiguration” auf und lassen uns alle Parameter anzeigen. Das hat den Vorteil, dass wir unsere Einstellungen nur ein Mal speichern müssen.

md12

Bis zum Punkt “E-Mail-Benachrichtigung” rauschen wir an allen Einstellungen vorbei und belassen sie wie sie sind. Wir möchten ja gerne wissen ob das Script funktioniert und so darf der Knecht uns per Mail über Erfolg oder Misserfolg seiner Mission unterrichten.

md13

Wer auf Nummer “Ganz Sicher” gehen möchte, kann sich das Backup als E-Mail-Anhang schicken, und/oder es auf einen anderen FTP hochladen lassen.

md14

Unter “Crondump-Einstellungen für das Perlscript” wird es nochmal wichtig. In den meisten Fällen liegen die cgi-Scripte (crondump.pl – perltest.pl – simpletest.pl) die wir vorhin hochgeladen haben im Verzeichnis “cgi-bin”. Dieses Verzeichnis müssen wir hier angeben. Sollte die Dateiendung .pl vom Hoster nicht unterstützt werden, benennt man die Dateien einfach auf .cgi um, muss dies hier aber ebenfalls auswählen.

md15

Jetzt scrollen wir wieder in den oberen Teil des Fensters und speichern über das Menu.

md16

In der Navigation auf der linken Seite wählen wir den Punkt “Backup”. Danach bedienen wir uns im oberen Bereich des Buttons “Backup PERL”

md17

Hier bekommen wir noch eine entscheidene Information! Den absoluten Pfad zum Konfigurationsverzeichnis! Diesen kopieren wir in die Zwischenablage.

md19

Jetzt öffnen wir die Datei crondump.pl, bzw. crondump.cgi mit einem Editor. In der Zeile 20 ersetzen wir den Pfad mit dem gerade in die Zwischenablage kopieren. Die Datei speichern und mit der im “cgi-bin” Verzeichnis des Servers austauschen.

md20

Jetzt testen wir zunächst ob Perl und die Perl-Module funktionieren. Nach den Klicks auf die beiden Button sollten jeweils alle Ergebnisse grün sein, bzw. die Nachricht “Wenn Du das siehst, funktioniert Perl auf Deinem System !” erscheinen.

md21

Es gehts los! Zum Start des Backups klicken wir auf “Perl-Cronscript ausführen”.

md18

Im Idealfall bekommen wir jetzt einen etwas längeren Statusbericht. Hier wird angezeigt, welche Tabellen gesichert wurden, ob der Versand per FTP funktioniert hat und ob die Benachrichtigungsmail verschickt wurde…

md22

Sollte eine Fehlermeldung ausgegeben werden, empfehle ich die Einstellungen nochmals durch zu gehen. Wenn das keinen Erfolg bringt ist man sicher im MySQLDumper-Board gut aufgehoben. Hier gibts eigentlich zu jedem Problem die passende Antwort. Nachdem das Backupscript funktioniert automatisieren wir es per Cron-Job. Um den Cron-Job einzurichten benötigt man den Pfad des Scriptes welches aufgerufen werden soll. Diesen Pfad finden wir ebenfalls hinter dem Button “Backup Perl”.

md23

Beim Einrichten des Cron-Jobs kann man wählen wie oft ein Backup erstellt werden soll. Projekte mit hohem Beitragsaufkommen würde ich mehrmals täglich sichern. Mein kleines Blog “Just-Ronni” hingegen sichere ich nur 1x am Tag. Ich hoffe ich konnte mit meiner kleinen Anleitung einigen “Nichtautomatischbackuper” auf den richtigen Weg helfen. Sollte irgendwas unklar formuliert sein, bitte ich um Feedback Natürlich kann man mit dem Script auch Backups zurückspielen und Verwalten, aber das ist selbsterklärend. Ich danke den Autoren: Daniel Schlichtholz & Steffen Kamper
  1. 27. März 2008, 05:11 | #1

    Und wer es schoen mag und professionell macht, der nutzt Maatkit [1]. Speziell mk-prallel-dump [2]- damit laesst sich das ganze Datenbankbasiert und Tabellenbasiert dumpen und gleichzeitig packen. Zudem wird Multithreading unterstuetzt. Nur weniger der Features die es bietet. Ein unerlaessliches Schweizer Taschenmesser.
    [1] http://maatkit.sourceforge.net/
    [2] http://maatkit.sourc...k-parallel-dump.html

  2. 27. März 2008, 05:32 | #2

    Puuuhhh. Ganz schön aufwendig.
    Ich verlasse mich lieber auf das Backup meines Hosters.
    Ein zweiten Account irgendwo brauche ich für den FTP-Transfer dann auch noch.

    Ist das File dann wenigstens verschlüsselt ?

  3. 27. März 2008, 09:24 | #3

    @Knut
    Die Sicherung wird Im Ordner “Work” angelegt. Du brauchst also keinen zweiten FTP-Server. Nur wenn Du möchtest…

  1. 27. März 2008, 06:46 | #1