View: Backup quotidien de repertoires

  1. 11 years ago by siddhy
    1. #!/bin/sh
    2.  
    3. # Ce script est a appeler dans la crontab :
    4. # ~$ crontab -e
    5. # 0 6 * * * /home/benoit/make_backups.sh >>/home/benoit/backups_automatises.log
    6. # Dans l'exemple, ce script sera execute tous les jours a 6h00 du matin
    7.  
    8. # sauvegarde d'un repertoire
    9. make_backup ()
    10. {
    11.         rep=$1
    12.        
    13.         # Si un fichier porte deja ce nom, on le renomme (juste au cas ou)
    14.         if test -f "${rep}_${date_du_jour}.tar.gz"
    15.         then
    16.                 mv "${rep}_${date_du_jour}.tar.gz" "${rep}_${date_du_jour}_old.tar.gz" >> "$log" 2>> "$log"
    17.                 echo "Le fichier ${rep}_${date_du_jour}.tar.gz a ete renomme en ${rep}_${date_du_jour}_old.tar.gz" >> "$log"
    18.         fi
    19.        
    20.         echo "SAUVEGARDE DE `echo $rep | tr [a-z] [A-Z]`..."  >> "$log"
    21.  
    22.         # Sauvegarde du repertoire a la date du jour
    23.         tar -cf "${rep}_${date_du_jour}.tar" "${rep}" >> "$log" 2>> "$log"
    24.         gzip "${rep}_${date_du_jour}.tar"
    25.        
    26.         echo "EFFECTUEE"  >> "$log"
    27.        
    28.         # Suppression du fichier backup datant d'il y a trois jours
    29.         if test -f "${rep}_${avant_avant_hier}.tar.gz" && test -f "${rep}_${avant_hier}.tar.gz" && test -f "${rep}_${hier}.tar.gz"
    30.         then
    31.                 \rm -f "${rep}_${avant_avant_hier}.tar.gz" >> "$log" 2>> "$log"
    32.                 echo "Le fichier ${rep}_${avant_avant_hier}.tar.gz a ete supprime" >> "$log"
    33.         fi
    34.        
    35.         echo ""  >> "$log"
    36. }
    37.  
    38. repertoire_racine="/home/benoit"
    39. log="backups_automatises.log"
    40. date_du_jour=`date +'%y%m%d'`
    41. hier=`date +'%y%m%d' -d 'yesterday'`
    42. avant_hier=`date +'%y%m%d' -d '2 days ago'`
    43. avant_avant_hier=`date +'%y%m%d' -d '3 days ago'`
    44.  
    45. cd "$repertoire_racine"
    46.  
    47. echo "********************************************************************************" >> "$log"
    48. echo ""  >> "$log"
    49. echo "SAUVEGARDE DU `date +'%Y-%m-%d'` A `date +'%H:%M:%S'`"  >> "$log"
    50. echo ""  >> "$log"
    51. echo ""  >> "$log"
    52.  
    53. make_backup "repertoire1"
    54. make_backup "repertoire2"
    55.  
    56. exit 0
    Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/608"></script>

0 comment about "Backup quotidien de repertoires"