Wikiraum

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Alle MySQL-Datenbanken eines Servers per Dump sichern

Das Skript scheibt die Datenbank jeweils einzeln unter dem Datenbanknamen in ein Dumpfile. Dumps älter als sieben Tage werden gelöscht.

mysqlbackup.sh
#!/bin/bash
### MySQL Server Login Info ###
MUSER="mysql_user"
MPASS="secret"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
BAK="/path/to/backup_dir"
GZIP="$(which gzip)"
NOW=$(date +"%d-%m-%Y")
 
[ ! -d "$BAK" ] && mkdir -p "$BAK"
 
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
 
for db in $DBS
do
 FILE=$BAK/$db.$NOW-$(date +"%T").gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
 
# Dumps löschen, die älter als sieben Tage sind -mtime +7
 
find "$BAK" -iname "*" -mtime +7 -delete
 
exit 0