Script de sauvegarde automatique

Publié le par 78.ultima

Bonjour,

voici ci-dessous un script qui me permet de faire mes sauvegardes automatiquement sur mon serveur linux.

le principe est de faire des fichiers tar qui sont zipper. Par la suite une rotation des fichiers .gz est faite tout les 30 jours

En premier vous avez besoin d'un compte de sauvegarde et du logiciel sudo

Dans le compte root :
# creer un compte sauve sur votre machine ex: adduser ...
            aptitude install sudo
            visudo
            # Cmnd alias specification
            Cmnd_Alias      SAUVE = /home/sauve/mesdoc_archives.sh
            # %sudo ALL=NOPASSWD: ALL
            %sauve ALL=(ALL) ALL, NOPASSWD: SAUVE
            :wq


            vi /etc/group
            # ajoute de
            sauve:x:1005:sauve
            :wq

Creation dans le cron de l'utilisateur le lancement du script
            crontab -e sauve
            00 01 * * 1 sudo /home/sauve/mesdoc_archives.sh 2>&1 >> /home/sauve/mesdoc.log
            :wq

dans le compte utilisateur sauve
vi /home/sauve/mesdoc_archives.sh
#!/bin/sh
#set ${debug:-+x}
#  -----------------------------------------------------------------------------
#  Description   : Script de rotation des données de 'Mes Documents'
#  -----------------------------------------------------------------------------
#  Auteur        : 78.ultima.over-blog.com
#  Date creation : 06/04/2008
#  Version       : 0.1
#  -----------------------------------------------------------------------------
#  Modifications :
#  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#  Date          : 15/09/2008
#  Auteur        : 78.ultima.over-blog.com
#  Objet         : Ajout, test du repertoire a sauvegarder
#  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#  Date          :
#  Auteur        :
#  Objet         :
#  -----------------------------------------------------------------------------

#  -----------------------------------------------------------------------------
#  Definition de l'environnement
#  -----------------------------------------------------------------------------
PATH_MESDOC=/media/home/Mes_Documents/
PATH_AUTRE=/media/home/Autre/
PATH_SAUVE=/home/sauve
F_DATE=`date +%Y%m%d`                           # Format de la date : AAAAMMJJ
destinataire=''Adresse Email"


echo DEBUT...........................................................................
echo execution du fichier $0 a `date "+%H:%M:%S - %d %m %Y"`
echo .
echo ..
#  -----------------------------------------------------------------------------
#  Sauvegarde du Repertoire 'Mes Documents'
#  -----------------------------------------------------------------------------
if [ -f mesdocOffice_$F_DATE.tar.gz ]
        then
        echo mesdocOffice_$F_DATE.tar.gz existe
        echo .
else
        if [ -d $PATH_MESDOC ]
        then
                echo tar du repertoire $PATH_MESDOC
                echo .
                RETOUR=`tar -cf $PATH_SAUVE/mesdocOffice_$F_DATE.tar $PATH_MESDOC/*`
                tar -cf $PATH_SAUVE/
autre_$F_DATE.tar $PATH_AUTRE/*
                echo $RETOUR compression de mesdocOffice_$F_DATE.tar
                echo compression de
autre_$F_DATE.tar
                echo ..
                /bin/gzip -9 $PATH_SAUVE/*.tar
                echo compression en gzip de mesdocOffice_$F_DATE.tar &
autre_$F_DATE.tar
                echo ...
                echo "sauvegarde effectue, `date` !" | mailx -s "Sauvegarde: mes documents office" $destinataire
        else
                echo  $PATH_MESDOC "n'existe pas !"
        fi
fi

#  -----------------------------------------------------------------------------
#  Purges des archives > a 1 mois
#  -----------------------------------------------------------------------------
find $PATH_SAUVE -mtime +30 -name "*.gz" -print | while read NOMFICHIER
do
   if [ -f $NOMFICHIER ]
      then
        echo supression de $NOMFICHIER
        echo ...
        rm $NOMFICHIER
   fi
done
echo FIN...........................................................................


:wq

chmod a+x /home/sauve/mesdoc_archives.sh

Publié dans Linux

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
D
Blogs are so informative where we get lots of information on any topic. Nice job keep it up!!_________________dissertation proposal
Répondre