(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/>