4. Juli 2022

Datenbank Backup-script

Es ist mühsam, alle MySQL-Datenbanken einzeln zu sichern.
Hier ist ein kleines Bash-Skript, das alle Datenbanken in einem Ordner kopiert und komprimiert.

#!/bin/bash
USER="user"
PASSWORD="password"
OUTPUT="/backup/mysql"
rm "$OUTPUT/gz" > /dev/null 2>&1 databases=mysql --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database for db in $databases; do if [[ "$db" != "information_schema" ]] && [[ "$db" != _ ]] ; then
echo "Dumping database: $db"
mysqldump --force --opt --routines --user=$USER --password=$PASSWORD --databases $db > $OUTPUT/date +%Y%m%d.$db.sql
gzip $OUTPUT/date +%Y%m%d.$db.sql
fi
done

Nun noch die Datei ausführbar machen mit:

chmod 700 backup.sh