Script de sauvegarde SQL pour serveur linux, utilisable directement ou en tache cron.
Backup_sql.sh
#!/bin/bash
###################
#
# Backup DB
#
# #################
#
# configuration
#
###################
USER=backup_user
PASS=passowrd
PATH_BACKUP=/var/backup/sql
PATH_LOG=$PATH_BACKUP/log/backupsql.log
########################################
mkdir -p $PATH_BACKUP
mkdir -p $PATH_BACKUP/log
echo ---------------------------------- >> $PATH_LOG
echo `date` >> $PATH_LOG
###############################
# Definition de la date du jour
###############################
DATE=`date +%y_%m_%d_%H-%M-%S`
#####################
# Liste des bases SQL
#####################
LISTEBDD=$( echo 'show databases' | mysql -u$USER -p$PASS )
##########
# Loop
##########
for SQL in $LISTEBDD
do
ERR=$((mysqldump -u$USER -p$PASS -f $SQL | gzip > $PATH_BACKUP/$SQL"_mysql_"$DATE.sql.gz) 2>&1)
echo $SQL : $ERR >> $PATH_LOG
done
############################################
# Nettoyage des backup anterieurs à 30 jours
############################################
find $PATH_BACKUP/ -type f -mtime +30 -exec rm -f {} \; >> $PATH_LOG
echo ---------------------------------- >> $PATH_LOG
C’est simple non?
Poster un Commentaire