Script bash pour sauvegarder toutes ses bases MySQL sur un FTP
Par Benoît Pourre le mardi, avril 15 2008, 13:07 - Ubuntu - Lien permanent
Voici un petit script utilisant curl et mailutils pour sauvegarder ses bases MySQL sur un serveur FTP et envoyer un mail pour le succès ou l'échec de l'opération.
#!/bin/bash
#################################################
#
# Script de sauvegarde d'une base MySQL
# auteur : Benoît
# 15/04/2008
#
#################################################
# ---- Mise en place des variables
# Nom de la 1er base
liste_bases="--all-databases"
# login passwd pour mysql ayant acces a toutes les bases
user=utilisateursql
passbase=motdepassesql
# adresse email a prenir
mailrt=toto@sdrgzs.df
# nom du serveur de Backup
srvbk=nom_du_serveur_ftp sans ftp://
Userftp=user_ftp
Passftp=mdtp_ftp
# Repertoire ou backuper les bases
repbk=backup_sql
# ---- Fin des variables
#################################################
# ---- Main
statsdatem=$(date '+%Y/%m/%d - %T')
statsdatef=$(date '+%Y%m%d')
for base in ${liste_bases}
do
NomFichierSauvegarde="backup-"${statsdatef}"-"${base}".sql"
mysqldump --all --user=${user} --password=${passbase} ${base} > ${NomFichierSauvegarde};
[ $? -ne 0 ] && echo "Il y a eu une erreur lors du Backup (dump) de vos bases" | mail -s "ERREUR - Backup MySQL du ${statsdatem}" ${mailrt};
gzip ${NomFichierSauvegarde};
[ $? -ne 0 ] && echo "Il y a eu une erreur lors de la compression de vos bases"| mail -s "ERREUR - Backup MySQL du ${statsdatem}" ${mailrt};
done
echo "avant"
curl -u ${Userftp}:${Passftp} -T *${statsdatef}*.gz ftp://${srvbk}/${repbk}/
[ $? -ne 0 ] && echo "Il y a eu une erreur de transfert lors du Backup de vos bases" | mail -s "ERREUR - Backup MySQL du ${statsdatem}" ${mailrt};
for fic in `ls -1 *${statsdatef}*.gz`
do
rm -f ${fic}
done
echo "Backup des bases SQL ${liste_bases} : OK" | mail -s "Backup MySQL du ${statsdatem}" ${mailrt};
exit 0








Commentaires