Holger Janßen-Kroll

Beratung · Entwicklung · Internet

Backup aller MySQL-Datenbanken

Backup aller vorhandenen MySQL-Datenbanken

Die folgende kurze Kommandozeile sichert alle vorhandenen Datenbanken eines Servers in einer seperaten gzippten Dump-Datei.

Voraussetzung ist, dass ein Benutzer mit entsprechenden Rechten (z.B. show_db_priv, select_priv und lock_tables_priv) existiert. Sei dieser Benutzer [backup] mit dem Passwort [pwd].

Das Skript

for db in $(mysql -u [backup] -p[pwd] -e "show databases;" | tail --lines=+2 ); do
mysqldump -u [backup] -p[pwd] --add-drop-table $db | gzip > $(date +"%Y-%m-%d")_$db.sql.gz;
done;

sichert nun jede Datenbank in eine eigene Datei. Zusätzlich wird im Dateinamen noch das aktuelle Datum verwendet.

Erläuterungen:

  • tail --lines=+2
    oder tail -n+2
    Die Ausgabe des MySQL-Befehls zum anzeigen der vorhandenen Datenbanken gibt in der ersten Zeile die Überschrift Databases aus. Der tail-Aufruf filtert diese erste Zeile.

Zurück


Einen Kommentar schreiben

Was ist die Summe aus 7 und 1?