Script de sauvegarde automatique
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
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