-
#!/bin/sh
-
-
# Ce script est a appeler dans la crontab :
-
# ~$ crontab -e
-
# 0 6 * * * /home/benoit/make_backups.sh >>/home/benoit/backups_automatises.log
-
# Dans l’exemple, ce script sera execute tous les jours a 6h00 du matin
-
-
# sauvegarde d’un repertoire
-
make_backup ()
-
{
-
rep=$1
-
-
# Si un fichier porte deja ce nom, on le renomme (juste au cas ou)
-
if test -f “${rep}_${date_du_jour}.tar.gz”
-
then
-
mv “${rep}_${date_du_jour}.tar.gz” “${rep}_${date_du_jour}_old.tar.gz” >> “$log” 2>> “$log”
-
echo “Le fichier ${rep}_${date_du_jour}.tar.gz a ete renomme en ${rep}_${date_du_jour}_old.tar.gz” >> “$log”
-
fi
-
-
echo “SAUVEGARDE DE `echo $rep | tr [a-z] [A-Z]`…” >> “$log”
-
-
# Sauvegarde du repertoire a la date du jour
-
tar -cf “${rep}_${date_du_jour}.tar” “${rep}” >> “$log” 2>> “$log”
-
gzip “${rep}_${date_du_jour}.tar”
-
-
echo “EFFECTUEE” >> “$log”
-
-
# Suppression du fichier backup datant d’il y a trois jours
-
if test -f “${rep}_${avant_avant_hier}.tar.gz” && test -f “${rep}_${avant_hier}.tar.gz” && test -f “${rep}_${hier}.tar.gz”
-
then
-
\rm -f “${rep}_${avant_avant_hier}.tar.gz” >> “$log” 2>> “$log”
-
echo “Le fichier ${rep}_${avant_avant_hier}.tar.gz a ete supprime” >> “$log”
-
fi
-
-
echo “” >> “$log”
-
}
-
-
repertoire_racine=“/home/benoit”
-
log=“backups_automatises.log”
-
date_du_jour=`date +‘%y%m%d’`
-
hier=`date +‘%y%m%d’ -d ‘yesterday’`
-
avant_hier=`date +‘%y%m%d’ -d ‘2 days ago’`
-
avant_avant_hier=`date +‘%y%m%d’ -d ‘3 days ago’`
-
-
cd “$repertoire_racine”
-
-
echo “********************************************************************************” >> “$log”
-
echo “” >> “$log”
-
echo “SAUVEGARDE DU `date +’%Y-%m-%d’` A `date +’%H:%M:%S’`” >> “$log”
-
echo “” >> “$log”
-
echo “” >> “$log”
-
-
make_backup “repertoire1”
-
make_backup “repertoire2”
-
-
exit 0