Wichtig:
Von diesem Skript gibt es eine überarbeitete Version hier!
Von diesem Skript gibt es eine überarbeitete Version hier!
Wie sichert man alle MySQL-Datenbanken eines Systems? Folgendes Skript funktioniert auf etlichen Systemen und erstellt ein Dump jeder Datenbank nach /var/backups/sql:
#!/bin/bash
echo "Alle MySQL-Datenbanken sichern"
# Bereinigte Liste der Datenbanken erzeugen
mysqlshow -p"SQLPASSWORD" | awk '{print $2}' | \
grep -v Databases | sort >/tmp/dbaselist.txt
# Wohin sollen die ganzen Backups geschrieben werden?
cd /var/backups/sql
mkdir -p `date +%Y.%m.%d`
cd `date +%Y.%m.%d`
# Liste durchgehen und Sicherung erstellen
for x in `cat /tmp/dbaselist.txt`; do
echo "Datenbank '$x' sichern";
mysqldump --opt -p"SQLPASSWORD" $x >$x.sql;
done;
echo "Alte .gz-Dateien loeschen ..."
rm -f *.gz
echo "Dateien zippen ..."
gzip *
Kommentar schreiben