Nach dem ich an dieser Stelle schon über MySQL Dumps geschrieben habe, möchte ich euch mal noch ein kleines Script vorstellen, mit dem ich auf diversen Servern regelmässige MySQL-Dumps mache:
#!/bin/sh
BACKDIR="/export/backup/mysql"
BACKEXT="sql.bz2"
OLDEXT="sql.bz2.old"
BACKFILE=backup
for i in $(mysqlshow -u backup | grep -v "^+" | grep -v Databases | cut -d " " -f 2 | grep -v information_schema);
do
mysqldump -u backup --opt -Q $i | bzip2 -c > $BACKDIR/$i.neu
if [ -f $BACKDIR/$i.$BACKEXT ] ; then
cmp $BACKDIR/$i.neu $BACKDIR/$i.$BACKEXT > /dev/null 2>&1
if [ $? != 0 ] ; then
mv $BACKDIR/$i.$BACKEXT $BACKDIR/$i.$OLDEXT
chmod 600 $BACKDIR/$i.$OLDEXT
fi
fi
mv $BACKDIR/$i.neu $BACKDIR/$i.$BACKEXT
chmod 600 $BACKDIR/$i.$BACKEXT
done
Das Script macht einzelne Dumps jeder Datenbank auf dem Server. Es setzt voraus dass es einen User namens “Backup” gibt, der die passenden Rechte hat, und macht die Backups in /export/backup/mysql. Die Backups werden mit Bzip2 komprimiert und man hat immer den aktuellen ump plus den davor vorrätig (das Script rotiert die Backups durch).
Nutzt es auf eigene Gefahr
Gefällt mir:
Gefällt mir Lade...