Backup ist eine wichtige Sache, vor allem bei so sensiblen Bereichen wie die Datenbanken. Wichtig ist auch das eine Sicherung immer Automatisch passieren sollte.
Die einfachste Methode eine Datenbank zu sichern stellt, dass bei MySQL Mitgelieferte Tool mysqldump dar. Der Syntax ist recht Simpel:
mysqldump -u root –pgeheim meinedatenbank > meinedatenbank.sql
Diese Datei kann man dann irgendwo ablegen und wenn notwendig rückspielen mit:
mysql -u root -p datenbankname < datenbankdump.sql
Diese Lösung ist für einzelne Datenbanken wie man Sie oft auf Webseiten hat durchaus praktisch, kränkelt aber schnell wenn man so richtig viele Datenbanken hat. Eine Firma, die ich beträue hat weit über 1000 Datenbanken und wer tippt oder speichert das als endlos lange liste? Warten ist auch nicht ohne weiteres möglich. Aber auch hier gibt es eine recht einfache Lösung.
Ein Bash-script kann sowas ohne Probleme lösen. Hier ist mal der generelle Quellcode den man je nach Situation anpassen muss:
Dieses Script speichert alle SQL Datenbanken in einem eigenen DUMPfile
#!/bin/shmysqlshow > tmprows=$(cat tmp | wc -l)let rows=$rows-3
let rows2=$rows-1
temp=$(cat tmp | tail -n $rows | head -n $rows2)
for test in $temp
do
if [ “$test” != “|” ]; then
mysqldump $test > $test.sql
fi
done
Für das Anpassen kann ich an dieser Stelle schlecht unter die Arme greifen - aber eine gute anlaufstelle sind diverse Linuxforen bzw. MySQL Foren. Wenn das Script ihren Bedürfnissen entsprechend angepasst ist muss es noch automatisiert werden.
Hierfür eigenet sich idealerweise die Cronjobs. Dieser Daemon ruft automatisch zu vorgebenen Zeiten einen bestimmten Job auf. Ich empfehle das Backup täglich durchzuführen. Ich gehe davon aus das dieses Backupscript den namen ’sicherung.sh’ trägt und sich in /usr/bin befindet. In diesem Fall würde man folgende Befehlskette eingeben müssen:
contab -e
0 0 * * * /usr/bin/sicherung.sh
Damit würde das Backupscript täglich um 0:00 Uhr durchgeführt. Für mehr Informationen bzgl. Cronjobs empfehle ich den nachschlag in geeigener Literatur, bzw. Suche im Internet. Natürlich lässt sich das Script oben verfeiern - z. B. könnte man alle dateien dannach komprimieren, mit datum versehen usw. usf.
Weitere Beispiele lasse ich hier bewusst weg, da es mir hier darum ging eine möglichst schnelle und einfache Lösung dazustellen und die Randbedingungen wie Dateigröße, Dateiverwaltung etc. nicht miteinzubeziehen.
MySQL How-To: Datei Replication
Muss man diesen Zusammenhang jetzt verstehen?magoo hat geschrieben: Da ich noch einige mehr an How-Tos geschrieben habe für einen Webauftritt den ich nicht veröffentlcihe werde ich den rest im Wiki Eintragen.
[edit]
Das mit dem HowTo für das Backup von Datenbanken finde ich aber eine gute Sache von dir, magoo!
[/edit]
Oh, yeah!