28/juil/2010 Posté dans MySQL | 0 commentaire - 2010/07/28 – Mise en ligne du script
- 2010/10/04 – Update pour gerer les code de retour en cas d’erreur lors d’un dump
#!/bin/sh
##
# Configuration
# Fichier avec les informations de connexion MySQL
MYCNF='/root/.my.cnf'
# Emplacement des bases
DBROOT='/home/mysql/datas/'
# Emplacement des sauvegardes
DSTBCK='/home/mysql/backup'
##
# Scripts
DBS=`find $DBROOT -mindepth 1 -maxdepth 1 -type d | sed -e s,$DBROOT,,`
DBNB=`echo $DBS | wc -w`
RAPPORT=`date +%X`' - Debut du backup des bases\r\n'
i=1
FAILDUMP=0
while ((i <= $DBNB))
do
COUNT='$'$i;
DB=`echo $DBS | awk '{print $'$i' }'`
/usr/bin/mysqldump --defaults-file=/etc/mysql/debian.cnf --routines --databases $DB > $DSTBCK'/'$DB'.sql'
RETURNDUMP=$?
if [ $RETURNDUMP -eq 0 ]; then
gzip -fq $DSTBCK'/'$DB'.sql'
RAPPORT=$RAPPORT`date +%X`' - Dump de la base '$DB' OK\r\n'
else
RAPPORT=$RAPPORT`date +%X`' - Dump de la base '$DB' NOK\r\n'
((FAILDUMP += 1))
fi
((i += 1))
done
RAPPORT=$RAPPORT`date +%X`' - Fin du backup des bases\r\n'
echo -e $RAPPORT >> $DSTBCK'/lastbackup.log'
if [ $FAILDUMP -ne 0 ]; then
exit 1
fi
Laisser un commentaire