Tipp bezüglich der Datenbank Sicherung mit MySQLDumper

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Tipp bezüglich der Datenbank Sicherung mit MySQLDumper

    Eine sehr gute Möglichkeit Datenbank- Sicherungen zu erstellen ist das PHP-Progamm MySQLDumper. Hier kann sogar ein SQL_Browser verwendet werden um Einträge zu bearbeiten.

    In diesem Thema geht es aber speziell um Backups per Perlscript. Wer kennt dass nicht, die DB Sicherungen werden vernachlässigt und wenn man dann doch eine braucht liegt die letzte sehr weit zurück. Bei Foren sehr Ärgerlich, da hier viele Beiträge/Themen und neue Mitglieder fehlen.

    Die Wiederherstellung mit Backups per ACP im WBB3 hat bei mir noch nie Fehlerfrei geklappt und muss auch Manuell jedesmal gestartet werden. Daher verwende ich für diese Arbeiten nur das Programm MySQLDumper.

    Bei mir habe ich ein Perlscript eingerichtet, dass alle 6 Stunden alleine ein Backup erstellt und mir eine Benachrichtigung Email zukommen lässt. Das mit der Mail muss im Programm unter Einstellungen erst eingerichtet werden. Für mein Server "Linux Lenny" musste ich hier allerdings diesen Eintrag verwenden, damit Emails gesendet werden können "/usr/sbin/sendmail -t -oi -oem".

    1. In der Konfigurationseinstellung musst man die Datenbank bestimmen wo das Backup ausgeführt werden soll, in meinem Beispiel Bild habe ich den Datenbankname ersetzt. Hier bekommt man die Anzeige der Datenbank die es gibt. Man kann hier Multidump auswählen oder einfach alle, das Multidump muss gesondert in einem anderem Bereich der Konfiguration bestimmt werden, also bezüglich der Datenbanken die gesichert werden sollen.



    2. Kick auf Backup und dann auf Backup Perl. Hier ist für uns die letzte Zeile mit dem rotem Pfeil wichtig. Dort findet man schon vorgefertigt den Pfand der für uns wichtig ist, der komplett kopiert werden kann.(In meinem Bild habe ich dort Bereiche übermalt, da diese Vertrauliche Daten beinhalten.)



    3. Diesen Code kann man schon mit Putty im Terminal testen und hier wird ein Backup erstellt und im Ordner Woker/Backup bereit gestellt, was man auch im Programm anwählen kann.

    4. Jetzt benötigen wir ein Crontab, Zeitgesteuerte Aufgaben. Entweder per Crontab-e im Terminal erstellen oder mit Webmin lässt sich dieses sehr einfach einrichten.

    Info bezüglich des Crontab:
    crontab -e für =>Crontab Confixx
    Pico /etc crontab =>Crontab System
    Beispiel einer Crontab:

    #M S T M W Befehl
    5 * * * * /usr/bin/message.sh
    */5 * * * * /usr/bin/message.sh
    59 23 * * 0 cp /var/log/messages /log/backup/messages
    0 0 * * * cp /var/log/syslog /log/backup/syslog
    20,30 1 * * 1-5 /usr/bin/work.sh

    Der erste Befehl (beginnend mit 5…) wird 5 Minuten nach jeder vollen Stunde,
    der zweite alle 5 Minuten (die Schrittweite wird durch */Schrittweite angegeben),
    der dritte einmal pro Woche sonntags um 23:59 Uhr, der vierte täglich um 00:00 Uhr
    und der fünfte montags bis freitags jeweils um 01:20 und 01:30 ausgeführt. Cron bietet noch mehr
    Funktionen, die bei den unten genannten Weblinks eingesehen werden können.

    Die Struktur ist also wie folgt zu verstehen:

    * * * * * auszuführender Befehl
    - - - - -
    ¦ ¦ ¦ ¦ ¦
    ¦ ¦ ¦ ¦ +---- Wochentag (0-7) (Sonntag =0 oder =7)
    ¦ ¦ ¦ +------ Monat (1-12)
    ¦ ¦ +-------- Tag (1-31)
    ¦ +---------- Stunde (0-23)
    +------------ Minute (0-59)


    So vergisst man in Zukunft keine DB- Sicherungen mehr. Bei mir startet eine Sicherung immer um 3:00 Uhr Morgens, - um 9:00 Uhr Morgend, -um 15:00 Uhr Nachmittags und um 21:00 Uhr Abends, dann wieder holt sich das jeden Tag erneut. Ich habe mir das etwas einfach gemacht und Webmin dazu benutzt.

    Oder einfach im Terminal den Befehl "crontab -e" eingeben und den Befehl mit dem kompletten Pfade aus MySQLDumper benutzen.

    Source Code

    1. 0 3,9,15,21 * * * perl /xxxx/xxxx/xxx/xxxx/xxxxx/msd_cron/crondump.pl -config=mysqldumper -html_output=0




    Stop wir sind noch nicht fertig..... :D

    Dadurch dass man jeden Tag 4 neue DB- Sicherungen hat, kommt mit der Zeit hier schon einiges zusammen, daher habe ich meine auf 100 Sicherungen eingeschränkt. Das kann man sehr gut im Programm einstellen, dass immer neue Backups gespeichert werden, aber alte gelöscht werden wenn die 100 überschritten wird. Die Anzahl kann man uneingeschränkt selber bestimmen.



    Hoffe ich konnte hier eine gute Lösung bereit stellen.

    In meinem nächsten Thema werde ich eine Anleitung schreiben wie man jede Nacht ein Backup von Server inkl. Home Verzeichnis erstellen kann. So konnte ich es einrichten das mein Forum und bereiche des Servers jede Nacht um 2:00 Uhr gesichert werden, denn es bringt nichts wenn man Aktuelle DB- Sicherungen hat und die PHP- Sicherungen veraltet sind.

    Dieser Tipp ist aber nur für Leute gedacht die einen eigenen Server Administrieren.

    Gruß Gero

    Edit: dieses Anleitung findet man jetzt auch im Lexikon, möchte aber das Thema trotzen weiter bestehen lassen falls Fragen und Anregungen anliegen, da man diese im Forum besser besprechen kann. :)
    Dieser Beitrag wurde bereits 2000 mal editiert, zuletzt von »Coolman« (24.07.2020, 21:47)

    I go with the time...

    The post was edited 11 times, last by Coolman ().

  • E-Mail wird nicht verschickt

    Hallo,

    vielen Dank für die Anleitung. Mit MySQLDumper ist es ja total einfach, eine automatisierte Sicherung durchzuführen.
    Bei mir klappt das mit dem E-Mail-Versand allerdings nicht so wie es soll. Wenn ich ein manuelles Backup (PHP) starte, wird die E-Mail korrekt versendet. Sobald man aber über die shell oder eben per cron den Aufruf startet, geht keine E-Mail raus. Alle weiteren Punkte werden abgearbeitet, bloß die E-Mail fehlt.

    Hast du nen TIpp für mich?

    Vielen Dank vorab.