mysqldump mit db in einer separaten datei
Ich schreibe einen einzeiligen Befehl, der alle Datenbanken in ihren jeweiligen Namen sichert, anstatt alles in einem SQL zu sichern.
Beispiel: db1 wird in db1.sql gespeichert und db2 wird in db2.sql gespeichert
Bisher habe ich die folgenden Befehle zusammengestellt, um alle Datenbanken abzurufen.
mysql -uuname -ppwd -e 'show databases' | grep -v 'Database'
Ich plane es mit awk zu pfeifen, um so etwas zu tun
awk '{mysqldump -uuname -ppwd $1 > $1.sql}'
Das geht aber nicht.
Ich bin neu im Bashing, also könnte ich mich in meinem Denken irren.
Was soll ich tun, damit die Datenbank in ihren jeweiligen Namen exportiert wird?
aktualisieren:
Ok, muss es endlich geschafft haben, es aus den unten stehenden Hinweisen zum Laufen zu bringen.
Dies ist das letzte Skript
# replace [] with your own config
# replace own dir to save
# echo doesn't work. hmm...
mysql -u[uname] -p'[pwd]' -e "show databases" \
| grep -Ev 'Database|information_schema' \
| while read dbname; \
do \
echo 'Dumping $dbname' \
mysqldump -u[uanme] -p'[pwd]' $dbname > ~/db_backup/$dbname.sql;\
done
Der Echo-Teil von funktioniert allerdings nicht.