MySQLBACKUP:


    Installations-Anleitung für MySQLBACKUP Version 1.10:

    Folgende Programme empfehlen wir für die Installation von MySQLBACKUP:

     

Programm

Beschreibung

Winzip

Programm unter Windows zum Entpacken von ZIP-Dateien 
(deutsche Version verfügbar)

UltraEdit

Guter Editor für Perl, HTML und mehr! 
(deutsche Version verfügbar)

LeechFTP

Sehr gutes Freeware-FTP-Programm für Windows
(deutsche Version verfügbar)

SysInfo

Deutsches System-Info-Programm
Dieses Programm liefert Ihnen ausführliche Informationen zu Ihrem Webserver

     

    Nach dem Entpacken des Archivs liegt folgende Ordner-/Dateien-Struktur vor:

            • cgi-bin
            • cgi-bin/backups
            • cgi-bin/FTP.pm
            • cgi-bin/Lite.pm
            • cgi-bin/mysqlbackup.pl
            • cgi-bin/mysqlbackupconfig.pl

    Öffnen Sie mit einem Text-Editor die Datei 'mysqlbackupconfig.pl' und passen Sie die Variablen wie folgt an:

        $mysqlserver   =  "localhost";
        $datenbank     =  "";
        $benutzer      =  "";
        $kennwort      =  "";
        $email         =  '';
        $ftpserver     =  "";
        $ftpbenutzer   =  "";
        $ftpkennwort   =  "";
        $ftppfad       =  "";
        $scriptpfad    =  "";
        $kompression   =  "";
        $tempentf      =  "";
        $mysqldump     =  "";

    Folgende Werte können definiert werden:

     

    Variable

      

    Inhalt

    Bemerkungen

    $mysqlserver

     

    Hier geben Sie den Namen des MySQL-Servers ein.

    Standard ist meist "localhost", bitte erfragen Sie ggf. diesen Parameter bei Ihrem Provider.

    $datenbank

     

    Hier geben Sie den Namen der Datenbank ein, für welche Sie mit MySQLBACKUP ein Backup erstellen lassen möchten.

    Wenn Sie hier als Wert "alle" eingeben, wird automatisch ein Backup aller vorhandenen Datenbanken durchgeführt.

    Bitte beachten Sie, daß zum Backup mehrerer Datenbanken der MySQL-Benutzer die entsprechenden Zugriffsrechte (z.B. root) besitzen muß.

    $benutzer

     

    Hier geben Sie den Benutzernamen des MySQL-Benutzers ein.

     

    $kennwort

     

    Hier geben Sie das Kennwort des MySQL-Benutzers ein.

     

    $email

     

    Hier geben Sie eine eMail-Adresse ein, an den ggf. ein Backup per eMail versandt werden soll.

    Lassen Sie das Feld leer, wenn Sie keinen Versand per eMail wünschen. Achten Sie auf die einzelnen Anführungszeichen.

    $ftpserver

     

    Hier geben Sie den Namen oder die IP-Adresse des FTP-Servers an, auf welchen MySQLBACKUP das erstellte Backup kopieren soll.

    Wenn Sie keine FTP-Übertragung wünschen, lassen Sie dieses Feld leer.

    $ftpbenutzer

     

    Der Benutzername für den o.g. FTP-Server.

    Wenn Sie keine FTP-Übertragung wünschen, lassen Sie dieses Feld leer.

    $ftpkennwort

     

    Das Kennwort des Benutzers für den o.g. FTP-Server.

    Wenn Sie keine FTP-Übertragung wünschen, lassen Sie dieses Feld leer.

    $ftppfad

     

    Hier geben Sie den Pfad für den o.g. FTP-Server ein, in dem die Backup-Datei abgelegt werden soll.

    Wenn Sie keine FTP-Übertragung wünschen, lassen Sie dieses Feld leer.

    $scriptpfad

     

    Hier geben Sie den Pfad zu MySQLBACKUP auf Ihrem Webspace an.

    Die genaue Angabe erfahren Sie auch bei Ihrem Webhoster. Geben Sie den Pfad immer ohne endendes / ein.

    $kompression

     

    Hier wählen Sie die gewünschte Kompressions-Art für die Backups ein. Gültige Werte sind entweder "zip" für ZIP-Archive oder "gz" für TAR/GZ-Archive.

     

    $tempentf

     

    Wenn Sie hier "ja" eingeben, werden nach dem Erstellen der komprimierten Backup-Datei alle temporären Dateien automatisch wieder entfernt.

     

    $mysqldump

     

    Hier geben Sie den Pfad zu mysqldump auf Ihrem Webspace ein.

     


    Nachfolgend sehen Sie eine Beispiel-Datei:

        $mysqlserver   =  "localhost";
        $datenbank     =  "kunden";
        $benutzer      =  "meier";
        $kennwort      =  "april";
        $email         =  'meier@domain.de';
        $ftpserver     =  "";
        $ftpbenutzer   =  "";
        $ftpkennwort   =  "";
        $ftppfad       =  "";
        $scriptpfad    =  "/usr/local/home/httpd/htdocs/cgi-bin/mysqlbackup";
        $kompression   =  "zip";
        $tempentf      =  "ja";
        $mysqldump     =  "/usr/bin";

    Stellen Sie nun eine FTP-Verbindung zu Ihrem Webspace her und wechseln Sie in das cgi-bin-Verzeichnis (bei manchen Providern auch cgi-local), Sie können optional - zur besseren Übersicht - ein eigenes Unterverzeichnis für MySQLBACKUP erstellen.

    Kopieren Sie alle Dateien von MySQLBACKUP im ASCII-Modus auf Ihren Webspace und vergeben Sie danach folgende Rechte:

    Datei/Verzeichnis

    Rechte

    backups

    777

    FTP.pm

    minimal 644

    Lite.pm

    minimal 644

    mysqlbackup.pl

    755

    mysqlbackupconfig.pl

    minimal 666

    Nun können Sie MySQLBACKUP in Ihrem Browser aufrufen:

    http://www.ihredomain.de/cgi-bin/mysqlbackup/mysqlbackup.pl

    Wenn MySQLBACKUP nun ein Backup Ihrer Datenbank(en) anlegt und Ihnen dies anzeigt, haben Sie MySQLBACKUP erfolgreich und korrekt installiert - Herzlichen Glückwunsch!

    Optional: Einrichtung eines Cronjobs

    Erklärung eines Cronjobs:

    Mit Cron ist möglich Scripts zeitgesteuert ausführen zu lassen. Cron ist eine Systemprogramm für Unix-/ Linux-Systeme. Jedes Programm, Scripts oder Kommando, was man per Telnet ausführen kann, kann auch über einen Cronjob gestartet werden.

    Der einfachste Weg Cron zu nutzen ist, die verschiedenen Aufgaben in einem ASCII-File zu speichern und auf den Server zu übertragen - man kann die Jobs aber auch direkt per Telnet ändern, das ist aber nicht wirklich komfortable.

    Eine Möglichkeit, die ich immer gerne nutze, ist ein File im Root-Verzeichnis des Web-Servers mit dem Namen cronfile. Um dieses File dann zu aktivieren, loggt man sich per Telnet auf den Web-Server ein und wechselt in das Verzeichnis, in dem das File liegt. Dann kann man das File mit folgendem Befehl aktivieren:

    crontab cronfile

    Wenn es Probleme mit dem Format gibt, meldet Crontab dies mit einer entsprechenden Fehlermeldung. Nach der Aktivierung per crontab wird das File nicht mehr gebraucht. Eine Änderung wird erst bei erneuter Eingabe des Befehls aktiv.

    Um eine Liste der aktuellen Cronjobs auszugeben, ist der folgende Befehl einzugeben:

    crontab -l

    Der Befehl crontab hat noch andere Kommandozeilenoptionen, wie "edit" and "remove". Mit diesen Kommandos kann man, wie bereits erwähnt, die Cronjobs auch direkt bearbeiten. Um zum Beispiel ein einen neuen Job anzufügen und einen bestehenden zu bearbeiten, ist der folgenden Befehlsaufruf notwendig:

    crontab -e

    Beim Aufruf über "edit" erstellt Cron eine Kopie der aktuellen Jobs im Speicher und ermöglicht diese dann zu bearbeiten und zu speichern. Dies ist allerdings nicht zu empfehlen, da die Kopie nach der Aktualisierung nicht mehr zur Verfügung steht und bei Problemen die Jobs nicht mehr zur Verfügung stehen. Dies kann insbesondere bei schlechter Dokumentation des Servers böse Folgen haben.

    Mit der Option "-r" löscht man alle Jobs die bisher ausgeführt wurden. Hierbei ist zu beachten, daß keine Sicherung der Daten stattfindet, wenn die Einträge mit der "edit"-Option erstellt wurden.

    Im Cronfile werden die Jobs gespeichert, die per Cron ausgeführt werden sollen. Dafür wird ein ganz bestimmtes Format verwendet, das im folgenden detailiert beschrieben wird.

    Grundsätzlich werden Leerzeilen irgnoriert und Kommentare können, gleich wie in Perl, mit dem Doppelkreuz (#) eingefügt werden, allerdings nur als ganze Zeile mit dem # beginnend.

    Daneben gibt es zwei Arten von Einträgen in einem Cronfile, die eigentlichen Cronjobs und Umgebungsvariablen.


    Umgebungsvariablen

    Die Umgebungsvariablen werden in folgendem Format eingegeben: name = wert. Die Leerzeichen um das Gleichheitszeichen müssen nicht unbedingt sein, dagegen werden Leerzeichen im Wert berücksichtig. Um Probleme mit Leerzeichen zu vermeiden, empfiehlt sich die Verwendung von einfachen oder doppelten Anführungszeichen.

    Eine der wichtigsten Umgebungsvariable die gesetzt werden kann, ist die MAILTO-Variable. Wenn diese gesetzt ist, werden Fehlermeldungen bei der Ausführung eines Cronjobs an diese Mail geschickt. Sollte diese Variable nicht gesetzt sein, werden die Fehler oft an Root oder ins Nirvana geschickt. Zur Überwachung der Cronjobs sollte die Variable unbedingt gesetzt werden, zum Beispiel:
    MAILTO=support@thinkfactory.de

    Um die Mail ganz zu unterdrücken gibt den Wert, wie folgt an:
    MAILTO=""

    Jeder Cronjob im Cronfile ist eine Kombination aus einer bestimmten Anzahl von Feldern, die durch ein Leerzeichen voneinander getrennt sind. Die ersten fünf Felder dienen zur Festlegung der zeitlichen Komponente des Cronjobs und das sechste Feld legt die Aktion fest.

    Bestimmung der Ausführungszeit

    Folgende Werte sind für die Eingabe erlaubt:

     

    Position

    Feld

    Parameter

    Bemerkungen

    1

    Minute

    0 bis 59

    * für alle

    2

    Stunde

    0 bis 23

    * für alle

    3

    Tag

    1 bis 31

    * für alle

    4

    Monat

    1 bis 12

    * für alle

    5

    Wochentag

    1 bis 7

    * für alle
    1 = Montag


    Anstelle eines festen Wertes, kann man auch einen "*" einsetzen, das bedeutet, daß der Cronjob zu jedem Wert des Feldes ausgeführt wird. Beispielsweise bedeutet ein "*" im Feld 3, daß der Cronjob jeden Tag ausgeführt wird. Als weiteres Zeichen kann ein "-" eingesetzt werden, um Intervalle darstellen zu können, ohne jeden Wert einzeln aufführen zu müssen, zum Beispiel "1-5" im Feld 2 würde bedeuten, daß der Cronjob von 1 bis 5 Uhr ausführt wird. Daneben ist noch möglich ein "," oder ein "/" zu verwenden, wenn die Ausführungszeiten nicht in am Stück liegen, zum Beispiel "0,10,20,30,40,50" im Feld 1 würde eine Ausführung alle 10 Minuten zur Folge haben. Mit dem "/" könnte man das einfacher ausdrücken "0-59/6". Die Zeichen können auch gemischt werden, zum Beispiel "0-4,8-12" oder auch "*/2".

    Bestimmung der auszuführenden Aktion

    Das sechste Feld und letzte Feld (Rest der Zeile) des Cronfiles legt nun die Aktion fest, die ausgeführt werden soll. Hierbei ist besonders auf den Pfad zu achten, es sollte immer der absolute Pfad verwendet werden. Die Aktion umfaßt alle Zeichen, auch die Newlines und Parameter, die für den Aufruf notwendig sind. Bei der Implementierung von Aktionen, ist auch darauf zu achten, daß der notwendigen Rechte vorhanden sind, damit Cron die Aktionen wie gewünscht ausführen kann.


    Hier ein Beispiel für einen Cronjob:

     

    # Täglich um 3 Uhr morgens MySQLBACKUP durchführen:
    00 03 * * * lynx -dump http://www.domain.de/cgi-bin/mysqlbackup/mysqlbackup.pl 2>&1 > /dev/null

    Lynx ist ein Unix-Browser, mit dem man per cronjob einen normalen Browser-Aufruf emulieren kann.

    Das angehängte 2>&1 > /dev/null bedeutet, daß der cronjob weder per Telnet/SSH beim Ausführen angezeigt noch das eine eMail bei Ausführung zur Information an den Administrator gesandt werden soll.

    Tip: Eine crontab-Datei sollte am Ende nur eine Leerzeile besitzen.

    Hat man diese erstellt, überträgt man diese im ASCII-Modus per FTP auf den Server, startet SSH/Telnet, wechselt in das entsprechende Verzeichnis und startet die Cronjobs wie oben beschrieben.

    Wichtig beim Erstellen einer cronfile-Datei ist, daß man ggf. bereits laufende Cronjobs (crontab -l) in die crontab-Datei übernehmen sollte - also folgende Vorgehensweise:

    • Telnet/SSH-Login und dann mit crontab -l die vorhandenen cronjobs auflisten lassen. Diese dann in die cronfile-Datei übernehmen.
    • Die erstellte crontab-Datei per FTP übertragen.
    • Mit crontab -r alle vorhandenen Cronjobs stoppen.
    • Mit crontab cronfile alle in der Datei cronfile vorhandenen Cronjobs starten.


    Tip: Bei einem hardware-seitigem Reset des Servers müssen Cronjobs gegebenenfalls erneut gestartet werden.
     

 


© 1997 - 2003 thinkfactory - Alle Rechte vorbehalten.