
developr
Teammitglied
- Beiträge
- 336
- Punkte Reaktionen
- 0
Um seine Datenbanken einfach und schnell einzeln und komprimiert zu sichern, könnt ihr folgendes Shell-Script zur Hilfe nehmen.
Nun müsst ihr noch einen MySQL Benutzer anlegen und ihm die Rechte für alle Datenbanken geben. Des weiteren braucht er folgende Privilegien: SELECT, SHOW DATABASES, LOCK TABLES.
Das Kennwort für den Benutzer müsst ihr übrigens noch oben in dem Script eintragen
.
Code:
#!/bin/bash
#################################
# Back up MySQL databases
#################################
PASSWORD="mysqlpassword"
USER="mysqluser"
IGNORE="test"
# Get list of all databases
DB_LIST=`mysql -u $USER -p$PASSWORD -Bse 'show databases'`
for db in $DB_LIST; do
# set skip variable
skip=0
if [ "$IGNORE" != "" ]; then
for i in $IGNORE; do
[ "$db" == "$i" ] && skip=1 || :
done
fi
if [ "$skip" == "0" ]; then
mysqldump -u $USER -p$PASSWORD --add-drop-table --opt $db | gzip -9 > $db.sql.gz
fi
done
exit 0
Das Kennwort für den Benutzer müsst ihr übrigens noch oben in dem Script eintragen