Pages : 1
#1 Le 07/12/2009, à 00:26
- Phi
[Résolu] Cron et mail des erreurs uniquement
Bonjour tout le monde,
Le cron m'envoie un mail sur les sortie standard et d'erreur pour chacun des appels qu'il doit faire...
Tout ne m'intéresse pas mais je voudrais tout de même recevoir les flux d'erreur par mail car on n'est prévenu dans le terminal dans une simple session SSH et je trouve ça pratique pour des infos qui n'ont pas forcément besoin d'être enregistrées dans un log.
Supprimer les mails est simple, il faut rediriger la sortie standard vers /dev/null mais avoir la sortie 2 semble plus compliqué.
J'ai testé 1 > /dev/null mais je n'ai plus la deux par mail.
J'ai testé 1 > /dev/null 2>&1 en espérant que la 2 ne soit pas envoyée vers la 1 et donc vers null mais que la 1 soit perdue et que la 2 soit la 1 et donc mailée par le cron (j'espère être clair...). Quoi qu'il en soit, ça ne marche pas, je pense que tout va vers /dev/null.
Savez-vous comment je dois m'y prendre pour perdre la sortie 1 mais que la sortie 2 me soit mailée comme avant ?
Merci beaucoup.
Dernière modification par Phi (Le 19/12/2009, à 13:30)
Hors ligne
#2 Le 07/12/2009, à 10:31
- compte supprimé
Re : [Résolu] Cron et mail des erreurs uniquement
Salut,
essaye un 2>&1 1>/dev/null. Les redirections sont analysés de gauche à droite.
#3 Le 07/12/2009, à 23:48
- Phi
Re : [Résolu] Cron et mail des erreurs uniquement
Malheureusement, ça ne marche pas, il ne fait pas la distinction et m'envoie tout dans le mail de retour...
J'ai carrément essayé > /dev/null (et c'est tout) et je reçois quand même les flux de sortie... Y'a-t-il un problème ?
Merci beaucoup pour ton aide oktoberfest.
Hors ligne
#4 Le 09/12/2009, à 08:56
- compte supprimé
Re : [Résolu] Cron et mail des erreurs uniquement
Petite question : c'est dans quel fichier que tu fais ces redirections ?
#5 Le 16/12/2009, à 08:35
- Phi
Re : [Résolu] Cron et mail des erreurs uniquement
Aucun pour le moment oktoberfest !
Mon but n'est pas (ou plus, je ne sais plus ce que je disais plus tôt) de rediriger les messages vers des fichiers mais bien de recevoir un mail sur user@machine.
La seule particularité est que je reçois 1 et 2 (stdout et stderr) alors que je ne veux que stderr (histoire de ne pas recevoir un mail chaque fois que mon Tiny Tiny RSS se met à jour par exemple). Ou chaque fois qu'un traitement tourne sans problème.
Merci pour votre aide, certains penseront peut-être que c'est facile mais je vous assure avoir testé beaucoup de choses sans succès.
Hors ligne
#6 Le 16/12/2009, à 09:01
- compte supprimé
Re : [Résolu] Cron et mail des erreurs uniquement
On va résumer car je m'y pers un peu....
Dans ta crontab tu as différentes entrées. Pour certaines tu souhaites avoir la sortie d'erreur envoyée par mail. C'est bien ça ?
Dans ton premier post, tu dis :
Le cron m'envoie un mail sur les sortie standard et d'erreur pour chacun des appels qu'il doit faire
Est-ce qu'il faut le traduire par : cron m'envoie un mail contenant la sortie standard et d'erreur de chaque tâche exécutée ?
Et autre question : Comment as-tu configuré cron pour qu'il envoie des mails ?
Dernière modification par oktoberfest (Le 16/12/2009, à 09:01)
#7 Le 16/12/2009, à 09:26
- compte supprimé
Re : [Résolu] Cron et mail des erreurs uniquement
Bon j'ai fait quelques essais. Premièrement j'ai créé un script ultra compliqué :
echo Sortie standard
echo Sortie erreur >&2
Et j'ai vérifié son fonctionnement :
> ./test_echo
Sortie standard
Sortie erreur
> ./test_echo > /dev/null
Sortie erreur
> ./test_echo 2> /dev/null
Sortie standard
Ca fait donc bien ce que je veux : un echo sur stdout, et un echo sur stderr.
Ensuite j'ai créé ma tâche dans cron via la ligne suivante dans la crontab :
22 09 * * * <chemin vers>/test_echo > /dev/null
Et j'ai bien reçu un mail avec 'Sortie erreur' dedans. J'ai dans bien reçu uniquement stderr par mail.
#8 Le 16/12/2009, à 13:41
- Phi
Re : [Résolu] Cron et mail des erreurs uniquement
Merci pour ta réponse ! C'est exactement ce que je veux !
Par contre ça ne m'apprend pas grand chose... Je procède comme ça... Ceci dit, si ça marche chez toi c'est déjà que je ne suis pas fou
Je pense que le programme qui envoie les messages écrit tout vers la sortie d'erreur ou standard indifféremment... Ou alors c'est moi qui redirigeais la dernière dans la première et donc je recevais tout... Enfin bref j'ai du m'emméler. Je fais des tests dès que possible pour essayer de nouveau !
Merci.
Hors ligne
#9 Le 16/12/2009, à 14:00
- compte supprimé
Re : [Résolu] Cron et mail des erreurs uniquement
Effectivement la première chose à vérifier, c'est lancer la commande en redirigeant stdout dans un fichier et stderr dans un autre et tu regardes ce que tu as dans chaque fichier. Tu sauras alors ce que tu dois rediriger
#10 Le 19/12/2009, à 13:30
- Phi
Re : [Résolu] Cron et mail des erreurs uniquement
J'ai fait un test ! Je te confirme bien que mon programme envoyait tout dans stderr... tout simplement.
Pour info si quelqu'un se pose la question : svnadmin dump envoie ses message d'info dans les messages d'erreur :S
Dernière modification par Phi (Le 10/01/2010, à 16:01)
Hors ligne
Pages : 1