Anbei ein kleines Shell-Skript für das Backup der MySQL Datenbanken.
#!/bin/bash
# Diese skript sichert alle datenbanken ab.
#Password fuer die MySQL datenbank
DB_PASSWD="DASPASSWORD"
#Das Datum
NOW=`date +%Y%m%W`
#Das Ziel
TARGETDIR="/PFAD/ZUM/BACKUP/"`date +%Y`"/mysql/"
DBASE_LIST=`mktemp`
#Erstelle das Verzeichnis falls nicht vorhanden
if [ ! -d $TARGETDIR ]
then
echo "Erstelle das Verzeichnis $TARGETDIR"
mkdir -p $TARGETDIR
chmod 0700 $TARGETDIR
fi;
mysqlshow -p$DB_PASSWD | awk '{print $2}' | grep -vi databases | sort > $DBASE_LIST
if [ ! -d "$TARGETDIR/$NOW" ]
then
echo "Erstelle das Verzeichnis $TARGETDIR/$NOW"
mkdir -p "$TARGETDIR/$NOW"
chmod 0700 "$TARGETDIR/$NOW"
fi;
cd "$TARGETDIR/$NOW"
for x in `cat $DBASE_LIST`
do
echo "Datenbank: $x sichern"
mysqldump --opt -p$DB_PASSWD $x > "$x.sql"
chmod 700 "$x.sql"
done;
echo "Alte .gz-Dateien loeschen:"
rm .gz
echo "Dateien zippen:"
gzip