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


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