(Courriels de diversion: <utilisable@changement-subjugues.com> <parodie@ivres-ensilages.com> <patronnons@consommerai-mâcherent.com> <revendiez@employez-certifies.com> <certifies@blondiraient-desarconneriez.com> <exagerais@dejaunissaient-sympathiserons.com> <enfuirions@agrainer-matelas.com> <murmurerais@ponctualite-rabouter.com> <glucides@moraliserai-parodieras.com> <diables@evase-enonce.com> )


On Thu, 8 Aug 2002 00:16:12 +0200
phil <phernandez@free.fr> wrote:
> J ai fait un petit script qui me sers a effectuer des sauvegardes au boulot .
> Il utilise simplement samba et rsync .
> 
> Il me permet d avoir un roulemnt de sauvegardes sur une semaine ( lundi - vendredi ).
> 
> Le fichier de conf permet de creer si besoin le rep de save du serveur concerné . 
> Il ne gere pas les supressions de serveur et le delete de celui ci .
> 
> TODO :
> - fichier "credential" a ajouter au fichier de conf , pour eviter d avoir le meme compte sur toutes les box
> - voir si on peut logguer le bilan dans un fichier exploitable par locate
> - ajouter une option DISK=yes ou TAPE=yes pour envoyer sur un DAT en /dev/tape
> - plein de trucs :-)
> 
> 
> Il semble que l insertion des modules nls 850 et 8859-1 et -15 evite bcp de soucis avec les noms de fichiers a espace et accents . A verifier .
> 
> 
> C est deja tres exploitable et en fonctionnement impec depuis des semaines .
> 
> Ma conf = 233MMX + 64 Mo de ram + disque systeme 2Go + carte HPT370 + DD Maxtor 80 Go + Debian Woody bf2.4 ( reiserfs )
> 
> Voila .
> 
> Phobos



#!/bin/sh

#Sauvegarde journaliere via rsync et samba .
#
########################################################
USER="un_user_connu"
PASSWD="son_pass"

REP_DE_SAUVEGARDE="/sauvegarde"
POINT_DE_MONTAGE_RESEAU="$REP_DE_SAUVEGARDE/mnt"
FICHIER_DE_CONF="$REP_DE_SAUVEGARDE/conf/sauvegarde.conf"

#syntaxe du fichier de conf : 
# chaque ligne commence par le nom du serveur , suivi du ou des partages a sauver jusqu a la fin de ligne .
#Attention aux editeurs style gedit qui coupent a 80 colonnes par defaut ..

#serveur_samba_ou_win1 partage1 partage2 partage-n
#serveur_samba_ou_win2 partage1 partage2 partage-n
# 

########################################################

# Ne pas modifier , a priori ..
# LANG necessaire pour avoir les jours en francais independemment du reste
#de la config du systeme . J ai eu des soucis d export pour le root .

LANG=fr_FR.ISO_8859-15; export LANG
LC_ALL=fr_FR ; export LC_ALL
LANGUAGE=fr_FR ; export LANGUAGE


# ca sers a rien mais c est plus joli ..
VERT="\033[32m"
JAUNE="\033[33m"
GRAS="\033[1m"
NORMAL="\033[m"
ROUGE="\033[31m"
VIOLET="\033[35m"

JOURS="lundi mardi mercredi jeudi vendredi" 


#il manque a la commande un log plus propre 
COMMANDE="rsync -Cav --delete"

JOUR_DE_LA_SEMAINE=`date +%A`

########################################################

while read NOM_SERVEUR LISTES_DES_PARTAGES_A_SAUVER  
do

	cd $REP_DE_SAUVEGARDE
	echo  "on verifie que le repertoire du serveur existe , sinon on le cree "
		if [ ! -e $REP_DE_SAUVEGARDE/$NOM_SERVEUR ]
		then
		mkdir $NOM_SERVEUR		
		echo " le serveur $NOM_SERVEUR n existait pas , il a ete cree "
		fi
		echo " le serveur $NOM_SERVEUR existait , il n a pas ete cree "
		cd $REP_DE_SAUVEGARDE/$NOM_SERVEUR

		for repertoire in ${LISTES_DES_PARTAGES_A_SAUVER} ;do
			if [ ! -e $REP_DE_SAUVEGARDE/$NOM_SERVEUR/$repertoire ]
			then
			cd $REP_DE_SAUVEGARDE/$NOM_SERVEUR/
			mkdir $repertoire		
			echo " $repertoire a sauver sur $NOM_SERVEUR n existait pas , il a ete cree "
	
			cd $repertoire

			echo "si l arborescence des jours n existe  pas , la creer .. On ne teste que le lundi  "
				if [ ! -e lundi ] 
				then
					for jour in ${JOURS} ;do
					echo -e "${GRAS}Creation des jours  ${ROUGE}${jour}:${NORMAL}\t\t${VERT}OK${NORMAL}"
					mkdir ${jour}
					done

				else
				echo "	l arborescence des jours n existe  deja"
				fi
				

			fi
		
		
echo " Sauvegarde "
#			umount $POINT_DE_MONTAGE_RESEAU
mount -t smbfs -o username=$USER,password=$PASSWD,ro //$NOM_SERVEUR/$repertoire /$POINT_DE_MONTAGE_RESEAU
echo " commande = mount -t smbfs -o username=$USER,password=$PASSWD,ro //$NOM_SERVEUR/$repertoire /$POINT_DE_MONTAGE_RESEAU "
cd $REP_DE_SAUVEGARDE/$NOM_SERVEUR/$repertoire/$JOUR_DE_LA_SEMAINE
			
echo "$COMMANDE $POINT_DE_MONTAGE_RESEAU/ $REP_DE_SAUVEGARDE/$NOM_SERVEUR/$repertoire/$JOUR_DE_LA_SEMAINE"
$COMMANDE $POINT_DE_MONTAGE_RESEAU/ $REP_DE_SAUVEGARDE/$NOM_SERVEUR/$repertoire/$JOUR_DE_LA_SEMAINE	

cd /
	umount $POINT_DE_MONTAGE_RESEAU/
		done
	echo -e "\n"
	
done < $FICHIER_DE_CONF

echo " rapport de sauvegarde" | mail $USER@localhost
#### end ####

---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>