Nachfolgend sehen
Sie eine Beispiel-Datei:
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