Hikaru Posté(e) le 28 juin 2007 Partager Posté(e) le 28 juin 2007 Bonjour, Je suis sur un problème depuis plusieurs jours au niveau de la sauvegarde d'un site web hébergé chez OVH sur un serveur hébergé localement. La meilleure méthode est Rsync, ca je pense pas que l'on pourra me dire le contraire et je me suis donc tout simplement mis à faire un script qui devra être lancé tous les soirs grâce à un CRON. Seulement ce script fonctionne... bizarrement !! Là ou je lui demande de me sauvegarder /etc, il me sauvegarde /root, et la ou je lui demande de sauver /var, il me sauvegarde /home... donc bon je sèche un peu !! De même, j'ai une variable ou je stock la date du moment pour daté l'archive mais au bout du compte le dossier s'apelle "backup-date". En esperant que l'on arrivera à me dépanner parce que vraiment je ne vois pas !! Merci d'avance pour votre participation (surtout vu la longueur du script ) #!/bin/sh ############################################################################### #########################INITIALISATION DES VARIABLES########################## ############################################################################### # Date actuelle pour le nommage des dossiers de sauvegarde DATEA='date +%d%m%y' # Repertoires du serveur distant a sauvegarder SOURCES="/etc \ /var/www \ /var/lib/mysql \ " # Machine distante REMMACHINE=@ip machine distante # Utilisateur distant REMUSER=root # Repertoire local de sauvegarde TARGET="/home/dokeos/backupDokeos" # Repertoire local de stockage des archives ARCTARGET="/home/dokeos/backupDokeosArchives" # Options de la commande RSYNC OPTIONS="--force --ignore-errors --delete --delete-excluded --backup" # Fichier "log" ou seront inscrites les diffentes etapes du script (echo) FICHIERLOG=$TARGET/logbackup # Fichier "log" distant qui sera envoye a ladministrateur systeme REMLOG=/home/dokeos/logbackupim # Adresse Email de l'administrateur systeme ADDRADMIN=@mail admin ############################################################################### ####################################SCRIPT##################################### ############################################################################### # Verification de la presence et de l'accessibilite au dossier cible # Creation si il n'existe pas if test -x $FICHIERLOG; then rm $FICHIERLOG touch $FICHIERLOG fi echo "DEBUT" >> $FICHIERLOG echo "Check des dossiers de sauvegarde ..." >> $FICHIERLOG # Verification de l'existance du dossier de stockage de la sauvegarde # Si il n'existe pas, nous le creeons # Si la creation echoue, exit echo "Dossier $TARGET check ..." >> $FICHIERLOG if ! test -x $TARGET; then echo "Le repertoire $TARGET sur la machine locale n'existe pas ou n'as pas des permissions convenables.!." >> $FICHIERLOG echo "Creation..." >> $FICHIERLOG mkdir -p $TARGET if ! test -x $TARGET; then echo "Le repertoire $TARGET n'a pas pu etre cree ou vous n'avez pas les permissions necessaires pour le faire.!." >> $FICHIERLOG echo "Arret du script" >> $FICHIERLOG exit 2 fi echo "Repertoire $TARGET cree avec succes !!" $FICHIERLOG echo "" >> $FICHIERLOG fi # Verification de l'existance du dossier de stockage des archives de sauvegardes # Si il n'existe pas, nous le creeons # Si la creation echoue, exit echo "Dossier $TARGET ok" >> $FICHIERLOG echo "Dossier $ARCTARGET check ..." >> $FICHIERLOG if ! test -x $ARCTARGET; then echo "Le repertoire $ARCTARGET sur la machine locale n'existe pas ou n'as pas des permissions convenables.!." >> $FICHIERLOG echo "Creation..." >> $FICHIERLOG mkdir -p $ARCTARGET if ! test -x $ARCTARGET; then echo "Le repertoire $ARCTARGET n'a pas pu etre cree ou vous n'avez pas les permissions necessaires pour le faire.!." >> $FICHIERLOG echo "Arret du script" >> $FICHIERLOG exit 2 fi echo "Repertoire $ARCTARGET cree avec succes !!" $FICHIERLOG echo "" >> $FICHIERLOG fi echo "Dossier $ARCTARGET OK" >> $FICHIERLOG echo "Check des dossiers de sauvegarde termine avec succes" >> $FICHIERLOG echo "" >> $FICHIERLOG # Verification de l'existance des dossiers a sauvegarder # Si ils n'existent pas, exit echo "Verification des sources distantes .!." >> $FICHIERLOG for source in $SOURCES; do echo "Analyse de $SOURCE ..." >> $FICHIERLOG if ! ssh $REMUSER@$REMMACHINE "test -x $SOURCE"; then echo "Erreur sur la source selectionnee" >> $FICHIERLOG echo "Repertoire inexistant ou n'ayant pas les permissions suffisantes" >> $FICHIERLOG echo "" >> $FICHIERLOG exit 2 fi echo "Analyse de $SOURCE terminee avec succes !!" >> $FICHIERLOG done echo "Verification des sources distantes termine avec succes !" >> $FICHIERLOG echo "" >> $FICHIERLOG echo "LANCEMENT DE LA SAUVEGARDE..." >> $FICHIERLOG for source in $SOURCES; do # Creation du dossier correspondant a la source sur le serveur de sauvegarde if ! test -d $TARGET/$SOURCE; then mkdir -p $TARGET/$SOURCE echo "Dossier de $SOURCE cree avec succes sur la sauvegarde" >> $FICHIERLOG fi # Lancement de la commande de sauvegarde RSYNC echo "Lancement de RSYNC..." >> $FICHIERLOG rsync $OPTIONS -avzr -e "ssh" $REMUSER@$REMMACHINE:$SOURCE $TARGET/$SOURCE done echo "SAUVEGARDE TERMINEE AVEC SUCCES !!" >> $FICHIERLOG echo "ARCHIVAGE..." >> $FICHIERLOG # Archivage de la sauvegarde du jour tar -cvzf $TARGET-$DATEA.tar.gz $TARGET cp -R $TARGET-$DATEA.tar.gz $ARCDATEA echo "ARCHIVAGE TERMINE AVEC SUCCES !!" >> $FICHIERLOG echo "" >> $FICHIERLOG echo "JOURNALISATION TERMINEE AVEC SUCCES" >> $FICHIERLOG # Envoie du fichier de log sur le serveur distant pour que celui ci puisse l'envoyer sur l'email de l'administrateur systeme scp $FICHIERLOG $REMMACHINE:$REMLOG ssh $REMUSER@$REMMACHINE "mail -s 'backup du jour' ADDRADMIN < $REMLOG" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hikaru Posté(e) le 28 juin 2007 Auteur Partager Posté(e) le 28 juin 2007 Concernant la date le pb est résolu en mettant des backquotes plutot que des quotes normales mais le plus important est toujours a faire Bon et bien j'ai eut ma réponse tout compte fait, erreur des plus primitives, une variable déclarée en minuscule et appelée en majuscule... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.