>Wie die Datenbank heisst weiss ich schon, aber ist das gleichbedeutend mit dem Dateinamen? Und wo ist die schon wieder gespeichert?
Datenbanken sind bei MySQL Namen von Ordnern. Gespeichert sind die Ordner dort, wie es im my.cnf angegeben ist. Die entsprechende Anweisung lautet
Meistens ist das unter /var/lib/mysql - bei Xampp allerdings unter /opt/lampp/var/mysql.
Jeder Ordner dort entspricht einer Datenbank. Die Tabellen einer Datenbank wiederum entsprechen den Dateien innerhalb dieses Ordners, wobei für eine Tabelle mehrere Dateien angelegt werden, meistens mit den Endungen *.frm, *.MYD und *.MIY
Die verschiedenen Dateien benötigt MySQL für die Indizes der Datenbank. Das ganze gilt so allerdings nur für den DBMS-Treiber MyISAM, bei InnoDB ist die Datenbank an sich nur eine einzige Riesendatei, deren Ort aber auch in my.cnf festgelegt wird.
Also mußt Du erst einmal angeben, welche Datenbanken (= welche Ordner) gesichert werden sollen.
Dann die nächste Frage: wie soll gesichert werden? Man kann (ich selbst mache es auch so) einfach eine Kopie eines Ordners sichern, sprich den jeweiligen Ordner irgendwo hinkopieren und/oder sogar auf CD/DVD brennen. Die Kopieranweisung für einen Ordner unter Linux, inkl. aller Dateien und Unterverzeichnisse, lautet:
- Code: Select all
cp -r /hier/steht/ein/ordnernam /hier/soll/er/hin
Wie Du siehst, mächtig einfach. Es würde schon reichen, wenn Du die obige simple Zeile anpasst und in /etc/crontab einträgts (beispielsweise jede 20. und jede 50. Minute einer Stunde - macht dann halbstündig). Da sähe konkret so aus:
- Code: Select all
...
20 * * * * cp -r /var/lib/mysql/datenbank /home/irgendwer/meinebackups
50 * * * * cp -r /var/lib/mysql/datenbank /home/irgendwer/meinebackups
...
Leider unterscheiden sich von Linux zu Linux bisweilen die genauen Syntaxregeln für crontab, aber inzwischen unterstützen fast alle System auch die vereinfachte Version, da gibt es im Verzeichnis /etc die Ordner cron.hourly, cron.daily, cron.weekly und cron.monthly - und die tun genau das, was man erwartet: man braucht einfach nur ein Shellscript in den jeweiligen Ordner zu stellen, und das wird dann stündlich (cron.hourly) oder täglich oder wöchentlich oder monatlich ausgeführt.
Ein Shellscript ist seinerseits nichts anderes als eine Textdatei mit einer beliebigen Anzahl solcher Kommandos wie oben das "cp"-Kommando. Man kann nur eine Zeile hineinschreiben, kann man auch 1000de von Zeilen hineinschreiben.
Jetzt mußt Du nur noch herausfinden, wo bei dir die Datenbanken liegen - das sollte jetzt ziemlich einfach sein, nachdem Du nun weißt, wo Du nachschauen mußt.