Envoyer mail uniquement en cas d'erreur

Bonjour,

Je reçois tous les jours des mails concernant les opérations effectuées sur mes différents serveurs. Ces mails sont évidement assez nombreux. J’aimerai donc ne recevoir que les erreurs et non plus toutes les notifications. Comment faire?

Merci

Quels opérations ? Des scripts maison ? Des taches systèmes ?

Des scripts maison oui, tel que des sauvegarde, des redémarrage de service, des envois awstat…

Je me permets de relancer le sujet pour savoir si vous avez des pistes.
J’en aurais bien besoin :smiley:

Bonjour,

Qui envoie les mails ? Le script ou l’ordonnanceur ?
Si c’est le script, il ressemble à quoi ?
Si c’est l’ordonnanceur, quel est-il ?

Voici un exemple de mon script de sauvegarde de mes machines virtuelle.

vboxmanage startvm "subversion_ubuntu" --type headless 2>>log.txt
 ERREUR=$(expr $ERREUR + $?)
        if [ $ERREUR -gt 0 ] ; then
                echo "Erreur redemarrage de la VM subversion_ubuntu le $DATE" >> mail.txt
	fi
echo "-----------------------Fin du script-----------------------"


if [ -e mail.txt ] ; then
	cat log.txt >> mail.txt
	cat mail.txt | mail mail@mail.fr -s "$DATE Erreur sauvegarde VM"
	rm -fr /home/****/mail.txt
fi

tu test l’erreur d’une commande avec “2” a la fin
par exemple pour un ls qui ne retourne rien

ls -l /home/toto 2>>log.txt

après je test avec “$?” retourne 1 si il y a une erreur, et 0 si tout va bien.

Donc si $? > 0 il y a une erreur et donc j’écris dans mon fichier log.

A la fin je test l’existence de mon fichier log pour les erreurs, si il existe j’envois le mail, sinon je n’envois rien.

Je t’avoue ne pas avoir compris toutes les subtilités de ton script. mais il me semble trop avancé par rapport à ce que je veux faire :wink:
Par exemple, je reçois un mail à chaque sauvegarde des dossier planifiées tous les soirs, ou des générations des rapports awstats.
Bref. Dés que le serveur fait quelque chose, je reçois un mail.
Or je souhaite maintenant ne recevoir des mails qu’en cas d’erreur!