Jwel ik werk ermee, en het werkt bij mij gewoon ??
Echter omdat de backup nogal beperkt is doe ik alleen de eigen files.
Deed ik moet ik eigenlijk zeggen want ik ben nu met Virtualmin bezig die iets anders in elkaar zit als de standaart Webmin.
ff ter uitleg.
Virtualmin is het webhosting programma van Webmin waarbij de functies die je normaal in de standaard Webmin hebt gedeeltelijk niet meer zitten.
Toen ik dus nog de standaart backup gebruikte van Webmin was ik ook niet tevreden met de manier waarop....
Dus gebruikte ik een script waarbij ik wat zekerder ben van mijn backups.
Met dit script kan je instellen hoeveel backups je wilt hebben van een bepaalde file of directorie, ik had het aantal op 7 staan.
Iedere nieuwe backup duwt de laatste in de prullenbak en zo houd je van 7 dagen een backup over.
Dit kan je instellen bij "KEEP=7" waar 7 het aantal backups is.
Dit is het script:
#!/bin/bash
# DATABASES="master:mysql my:database"
DATABASES="master:mysql db:information_schema db:mijndatabase db:mijndatabase db:mijndatabase db:mijndatabase db:mijndatabase"
DATESTAMP=`date +%y%m%d`
TIMESTAMP=`date +%T`
BCK_DIR="/var/backups/mysql"
KEEP=7
rotate
{
last=$KEEP
prev=$((KEEP-1))
cd $BCK_DIR
echo Rotating backups up to $KEEP
while [ $last -gt 0 ]; do
for i in *.$prev.gz; do
if [ -n "$i" ]; then
file=`basename "$i" .$prev.gz`
echo Moving "$i" to "$file.$last.gz"
mv -f "$file.$prev.gz" "$file.$last.gz"
fi
done
last=$((last-1))
prev=$((prev-1))
done
}
dump_sql {
if [ -d $BCK_DIR ]; then
for dbset in $DATABASES; do
db=`echo $dbset | awk -F: '{ print $2 }'`
# db_dir=`echo $dbset | awk -F: '{ print $1 }'`
#if [ ! -d $BCK_DIR/$db_dir ]; then
# mkdir $BCK_DIR/$db_dir
#fi
BCK_FILE="$BCK_DIR/$db.sql.0"
echo -n "$db... "
mysqldump $db -c --opt > $BCK_FILE
echo done
if [ -f $BCK_FILE ]; then
gzip -v $BCK_FILE
fi
done
exit
else
echo "Backup path does not exist!"
exit -1
fi
}
rotate 2> /dev/null
dump_sql
Opslaan met de naam "mysql-backup.sh" in de map "/usr/local/bin/"
Nu een cronjob aanmaken:
bijv. deze regel gebruiken indien je de scripts op die plek zet. ( aan te raden)
/usr/local/bin/mysql-backup.sh 2>&1 >> /var/log/backup-mysql.log
en dit dagelijks laten lopen uiteraard.
SQL data base terug zetten doe ik eigenlijk heel ouderwets
ff uitpakken naar de temp map.
cd naar die temp map>
en dan met de opdracht:
mysql -p
inloggen in mysql
en dan in die temp map
\. /tmp/mijndatabase.sql
en vola de database is weer terug gezet.
Waarbij het woordje "mijndatabase" uiteraard de naam van de database moet zijn he ??
peace off cake