Archives du mot-clé Archive

Script pour sauvegarder une base de données

Petit post pour présenter un script que j’ai écrit afin de sauvegarder une base de données et l’archiver.

#!/bin/sh

DBUSER=<user>
DBPASS=<password>
DBNAME=<database>
DATEFORMAT=`date +%d-%m`
COMPRESS=1
BACKUPDIR=/data/Soft/Linux/mydb
LOG=/var/log/backup_db.log
PROG=`/usr/local/bin/mysqldump --opt -Q`

# Sauvegarde de la base de donnees
echo "Backup SQL commencee le : `date`" >> $LOG
if test -f $BACKUPDIR/$DATEFORMAT-$DBNAME.sql ; then
     rm -f $BACKUPDIR/$DATEFORMAT-$DBNAME.sql
fi

$PROG -u $USER -p$DBPASS $DBNAME > $BACKUPDIR/$DATEFORMAT-$DBNAME.sql

if [ $? -eq 0 ] ; then
     echo "DATABASE $DBNAME : SAVED" >> $LOG
     if [ $COMPRESS -eq 1 ]; then
          if test -f $BACKUPDIR/$DATEFORMAT-$DBNAME.sql.gz ; then
          rm -f $BACKUPDIR/$DATEFORMAT-$DBNAME.sql.gz
     fi
     gzip $BACKUPDIR/$DATEFORMAT-$DBNAME.sql
     if [ $? -eq 0 ] ; then
          echo "COMPRESSION OF $DATEFORMAT-$DBNAME.sql : SUCCESS" >> $LOG
     else
          echo "COMPRESSION OF $DATEFORMAT-$DBNAME.sql : FAILURE" >> $LOG
          rm -f $BACKUPDIR/$DATEFORMAT-$DBNAME.sql
     fi
fi
else
     echo "SAVING DATABASE $DBNAME: FAILURE" >> $LOG
     rm -f $BACKUPDIR/$DATEFORMAT-$DBNAME.sql
fi

On ajoute cela dans une crontab qui s’exécute tous les soirs à 19h et le tour est joué :

00 19   * * *   root    /root/save_database.sh > /dev/null 2>&1

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...