IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Gerer l'envoi de mail quand rsync s'est mal executé


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut Gerer l'envoi de mail quand rsync s'est mal executé
    Bonjour à tous,


    J'ai mon script 'start' qui contient ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo "Starting RSYNC..."
    for i in $(cat ~/rsync/backup_src); do
     $rsync $OPTIONS $i $dest
    done
    echo "RSYNC finished."
    et je voudrai gerer l'envoi de mail quand rsync s'est mal executé. J'avais pensé à quelque chose de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2>&1 | grep 'rsync error' | mail -s 'RSYNC Error' $mailadm1
    à mettre sur la meme ligne que rsync.

    Si vous avez d'autres avis.

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    J'ai fais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo "Starting RSYNC..."
    for i in $(cat ~/rsync/backup_src); do
     install -d $dest/$CURRENT
     $rsync $OPTIONS $i $dest/$CURRENT 2> ~/rsync/rsync_error
     Mail $mailadm1 -s `hostname`  Backup Report < ~/rsync/rsync_error
    done
    echo "RSYNC finished."
    ca marche très bien.
    Si je laisse comme ca, j'ai le rapport qui est envoyé, meme quand il n'y a rien dedans.
    Alors je pense faire un if pour: envoyer le rapport 'rsync_error' quand/s' il a des chaines de caractères.
    Je ne sais pas si je m'exprime correctement.

    Donc faire un if ou peut-etre faire un 'tant que'. J'ai plus de mal avec le 'tant que'.

    Aiguillez moi svp.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Comment je pourrai traduire ca:
    Si le rapport contient 'rsync error' alors 'Mail $mailadm1 -s `hostname` Backup Report < ~/rsync/rsync_error'
    sinon l'envoyer vers /dev/null

    Je pense que ca pourrai le faire comme ca.
    Qu'en pensez vous?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Une possiblilité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # exécution rsync avec redirection des stderr vers un fichier
        rsync --archive --verbose --compress --rsh=ssh "$SRC" $DEST 2>err
     
    # si erreur -> mail (si fichier err non vide)
        if [ -s err ]
        then
            cat err | mail -s 'RSYNC err' adresse@domaine
        fi
     
    # suppression du fichier
        rm -f err
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Oui, ta solution marche bien. merci.

    J'ai trouvé une autre solution qui marche également:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $rsync $OPTIONS $i $dest/`hostname`_$INCREMENTDIR 2> ~/rsync/rsync_error
     if [ $? != 0 ]; then
     Mail $mailadm1 -s `hostname` Backup Report < ~/rsync/rsync_error
     fi
    Pour ceux qui passeront par là, les 2 solutions marchent....bonne lecture.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/09/2015, 09h38
  2. Problème de l'envoi de mail quand j'utilise "AlternateView".
    Par namto dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 02/06/2010, 12h54
  3. [OL-2002] Supprimer msg de sécurité d'OL quand un macro Excel envoi un mail
    Par gandalf20000000 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 19/05/2010, 12h41
  4. Réponses: 2
    Dernier message: 07/12/2007, 17h20
  5. Réponses: 3
    Dernier message: 04/11/2006, 08h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo