Code: Alles auswählen
#!/bin/bash
SRCDIR=("/var/backups/" "/etc/")
DESTDIR=/mnt/nas-backup/server01
DATE=`date -I`
find $DESTDIR -type d -mtime +30 -exec rm -R {} \;
if [ ! -x $DESTDIR/$DATE ]; then
mkdir $DESTDIR/$DATE;
fi
for p in ${SRCDIR[@]};
do cp -r $p $DESTDIR/$DATE;
done
In diesem Zusammenhang ist es zum Beispiel notwendig, MySQL-Datenbanken zu sichern. Dazu werden lediglich die Datenbanktabellen in einem zweiten Script als Dump exportiert und gepackt:
Code: Alles auswählen
#!/bin/bash
DESTDIR=/var/backups/dbbackup
for db in $(/usr/bin/mysql -e 'show databases' -s | grep -v 'lost+found' | grep -v 'information_schema' | grep -v 'performance_schema') ;
do /usr/bin/mysqldump --events -B --opt -Q $db | bzip2 -c > $DESTDIR/$db.sql.bz2 ;
done
Damit der User das obige Script aufrufen kann, ohne ein Passwort angeben zu müssen, sollte noch ein Datei namens ".my.cnf" mit folgendem Inhalt angelegt werden (Achtung: der Datei möglichst nur Leserechte für den Besitzer geben!):
Code: Alles auswählen
[client]
password=DeinPassWort