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

RedHat / CentOS / Fedora Discussion :

Crontab envoi de mail


Sujet :

RedHat / CentOS / Fedora

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut Crontab envoi de mail
    Bonjour,

    Je fais appel à vous car malgré mes recherches, je ne trouve pas de solution à mon problème.

    Je souhaite exécuter un script toutes les 30 minutes. Pour cela j'utilise "crontab"

    Mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/bin/bash
     
    SUJET1="Serveur_Zabbix_Processus_Manquant"
    SUJET2="Serveur_Zabbix_Processus_Defunct"
    MAIL="azerty@qwerty.fr"
    TEST1=`ps fax | grep zabbix_server | wc -l` 
    TEST2=`ps fax | grep zabbix_server | grep defunct | wc -l`
     
     
    if [ $TEST1 -lt 40 ];
    then
            /bin/mail -s $SUJET1 $MAIL < message_server.txt
            echo "PROBLEME"
     
    elif [ $TEST1 -ge 10 ] && [ $TEST2 -ge 1 ]; then
            /bin/mail -s $SUJET2 $MAIL < message_server.txt
            echo "PROBLEME"
    else
            echo "Process OK"
    fi
    Mon crontab :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */1 * * * * root sh /home/zabbix/server_check.sh > /dev/null 2>&1
    Ici, je stipule que je veux que le script s'execute toutes les minutes afin de tester son fonctionnement.

    Lorsque je lance le script à la main, je recois bien un mail, mais via la crontab, rien du tout.

    J'ai essayé sans le "sh" et sans le "root" dans la ligne de la crontab mais toujours rien.

    Dans le fichier de log, j'ai bien ceci toutes les minutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    crond[13652]: (root) CMD (root sh /home/zabbix/server_check.sh > /dev/null 2>&1)
    Si vous auriez une idée.

    Merci,

    Malik.

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Points : 473
    Points
    473
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Si tu redirigeais les sorties dans un fichier le temps des tests, peut etre y trouverais tu des informations interressantes ...

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut
    Justement je viens de le faire et rien dans le fichier txt.

    Voilà se que j'ai fais :

    */1 * * * * root sh /home/zabbix/server_check.sh > /home/zabbix/test.txt
    Avec un chmod 777 sur le test.txt

    EDIT :

    En modifiant le cron :

    */1 * * * * /home/zabbix/server_check.sh > /home/zabbix/test.txt
    J'ai le résultat du script dans "test.txt", soit le mot "PROBLEME" de mon echo mais pas de mail envoyé dans ma boite

  4. #4
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Points : 473
    Points
    473
    Billets dans le blog
    1
    Par défaut
    essaie de rediriger aussi 2>&1 pour voir

    EDIT : c'est peut etre le user cron qui n'a pas les droit pour envoyer des mails

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut
    En éditant le cron :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */1 * * * * /home/zabbix/server_check.sh > /home/zabbix/test.txt > /dev/null 2>&1
    Je n'ai plus rien dans le fichier "test.txt" et toujours pas de mail, je ne comprend pas.

  6. #6
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Points : 473
    Points
    473
    Billets dans le blog
    1
    Par défaut
    Je voulais dire comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */1 * * * * /home/zabbix/server_check.sh > /home/zabbix/test.txt  2>&1
    pour avoir aussi la sortie d'erreur dans le fichier

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut
    Le fichier "/etc/cron.deny" est vide se qui signifie que tout les utilisateurs ont le droit d’utiliser cron non ?

    Le fichier "cron.allow" n'existe pas.

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut
    Rien dans le fichier "test.txt" avec "2>&1" et pas d'envoi de mail non plus.
    Dans le fichier de log "cron" il exécute bien pourtant, avec le "root"

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut
    Bon j'ai trouvé le pourquoi du comment !

    Erreur dans mon script au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/mail -s $SUJET1 $MAIL < message_server.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/mail -s $SUJET2 $MAIL < message_server.txt
    je n'est pas mis le chemin absolu de "message_server.txt", maintenant ça fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/mail -s $SUJET1 $MAIL < /home/zabbix/message_server.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/mail -s $SUJET2 $MAIL < /home/zabbix/message_server.txt
    Merci de ton aide.

    Malik.

  10. #10
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Points : 473
    Points
    473
    Billets dans le blog
    1
    Par défaut
    Par curiosité, peux tu executer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/mail -s "sujet" azerty@qwerty.fr < toto.txt
    avec toto.txt inexistant pour voir s'il y a un message d'erreur ?

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 46
    Points
    46
    Par défaut
    En utilisant juste un script où se trouve la ligne que tu m'a cité ou en utilisant le script de mon premier post et changer le "/usr/mail" ?

    En faisant ceci : (avec toto.txt inexistant)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    /bin/mail -s "sujet" azerty@qwerty.fr < /home/user/toto.txt
    En exécutant le script, j'ai l'erreur : "/home/user/toto.txt : no such file or directory"

  12. #12
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Points : 473
    Points
    473
    Billets dans le blog
    1
    Par défaut
    Tu as résolu le probleme mais quand meme ,
    c'est pas normal qu'on ne puisse pas recuperer l'erreur avec 2>&1 !

    Si quelqu'un a une idée ...

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

Discussions similaires

  1. envoi du mail par crontab sous linux
    Par jamel_dhahri dans le forum Administration système
    Réponses: 1
    Dernier message: 19/06/2015, 16h05
  2. l'execution de crontab ne genere pas d'envoi de mails
    Par jpspci dans le forum Administration système
    Réponses: 1
    Dernier message: 07/11/2008, 11h46
  3. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22
  4. Outlook ne se ferme pas après un envoi de mail
    Par Joke dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2003, 17h32
  5. envoi de mail, protocol SMTP langage C
    Par Heimdall dans le forum Développement
    Réponses: 2
    Dernier message: 23/05/2003, 11h22

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