Bien bonjour à tous!
Aujourd’hui, nous allons découvrir comment gérer vos sauvegardes sur votre serveur FTP. Nous détaillerons dans cet article le script qui sera place sur le serveur FTP: il va vérifier que la sauvegarde à été bien effectuée et va dispatcher les sauvegardes dans un sous-dossier du nom du jour de la semaine.
1) Les variables
CHEMIN=/usr/local/apache/backup_sql # chemin du répertoire de sauvegarde sur le serveur FTP
SERVEUR=’Nom_de_votre_serveur‘ # nom du serveur a sauvegarder
FICHIER_LOG=~/compte-rendu.txt # fichier texte du compte-rendu
DESTIN=’Votre adresse mail‘ # destinataire du compte-rendu
DATE_JOUR=$(date ‘+%Y %m %d’) # date du jour sous forme numérique
JOUR_SEMAINE=$(date ‘+%w’) # jour de la semaine
2) Le script
# vérification paramètres: on définit la variable REPERTOIRE en fonction du jour de la semaine
case $JOUR_SEMAINE in
0)
REPERTOIRE=0_dimanche ;;
1)
REPERTOIRE=1_lundi ;;
2)
REPERTOIRE=2_mardi ;;
3)
REPERTOIRE=3_mercredi ;;
4)
REPERTOIRE=4_jeudi ;;
5)
REPERTOIRE=5_vendredi ;;
6)
REPERTOIRE=6_samedi ;;
*)
echo « L’argument fournit n’est pas valide »
exit ;;
esac
# effacement ancien texte du compte-rendu si existant
if [[ -e $FICHIER_LOG ]]
then
rm -f $FICHIER_LOG
fi
# texte du compte-rendu
echo « Compte-rendu de sauvegarde mysql du serveur $SERVEUR » > $FICHIER_LOG
date ‘+%a %d %B %H %M %S’ >> $FICHIER_LOG
echo >> $FICHIER_LOG
# on compte le nombre de fichiers .tar.gz présents dans le répertoire de sauvegarde
NOMBRE_GZ=$(ls -l $CHEMIN/*.tar.gz | wc -l)
# si le nombre est supérieur à 0, alors on transfert dans répertoire du jour
if [ $NOMBRE_GZ > 0 ]
then
# texte du compte-rendu
echo « La sauvegarde a été transférée par le serveur $SERVEUR » >> $FICHIER_LOG
echo >> $FICHIER_LOG
#on se positionne dans le bon répertoire
cd $CHEMIN/$REPERTOIRE
# on efface les anciennes archives du répertoire de destination
rm -rf ./*.tar.gz
echo « Les anciennes archives ont été effacées du repertoire $REPERTOIRE » >> $FICHIER_LOG
# on déplace les nouvelles sauvegardes
mv ../*.tar.gz .
else
# texte du compte-rendu
echo « La sauvegarde n’a pas été transférée par le serveur $SERVEUR » >> $FICHIER_LOG
fi
3) Envoi du compte rendu
# envoi du compte-rendu
mail -s »controle sauvegarde du serveur $SERVEUR » $DESTIN < $FICHIER_LOG
# effacement texte du compte-rendu
rm -f $FICHIER_LOG
Petit rappel: N’oubliez pas de convertir le fichier avec la commande dos2unix. Sinon votre fichier ne pourra pas être exécuté, notamment, les retours à la ligne vont envoyer les erreurs. Vous pouvez vérifier l’interprétation de votre fichier en utilisant la commande od.

Commentaires
Ecrire un commentaire Trackback