Quantcast
Channel: Ohax » Tutoriel
Viewing all articles
Browse latest Browse all 4

Rediriger les sorties du terminal pour ne pas recevoir les mails du cron

$
0
0

Trou noirEn dehors des documentations officielles, il y a bien peu d’articles qui traitent des redirections comme l’incontournable «> /dev/null 2>&1».

Mais c’est quoi «> /dev/null 2>&1» ?

> /dev/null : permet d’envoyer la sortie dite standard (STDOUT) dans le « null », c’est-à-dire la jeter dans une sorte de trou noir… :-)
2>&1 : on redirige 2 (STDERR) vers 1 (STDOUT), ainsi on renvoi l’erreur standard vers la sortie standard.

La commande > /dev/null 2>&1 détruit donc l’ensemble des sorties. L’intérêt est limité, sauf dans le cas d’une tâche cron récurrente.

En effet, lorsque l’on reçoit les mails du cron, il est courant de se retrouver inondé de notifications pour certains scripts.
Exemple : dans le cas d’un wget ou d’un curl qui appellent un script (l’updater d’RSSlounge par exemple).

Donc :

commande > /dev/null 2>&1

Si vous désirez supprimer la sortie standard (STDOUT) en conservant l’erreur standard (STDERR), (attention, les erreurs de certains scripts sont considérées comme des sorties standards) :

commande 1> /dev/null

Si néanmoins vous préférez transférer la sortie vers un fichier (attention à surveiller la taille du fichier) :

commande > /log/log.txt

Une dernière solution consiste à demander à crontab de ne pas envoyer de mail. Deux solutions pour éditer le crontab :

 nano /etc/crontab

Ou :

crontab -e

Il suffit ensuite d’insérer la commande suivante juste avant la liste des tâches :

MAILTO=""

Cette dernière solution s’applique à l’ensemble des taches planifiées.

Pour conclure, il existe différentes solutions, à vous de voir celle qui vous convient le mieux. Dans tous les cas, faites bien attention à ne pas perdre les retours d’infos importants. Ce serait dommage de ne pas avoir le retour d’erreur d’une tâche de sauvegarde qui ne s’exécute plus depuis quelques mois…

Edit : info utile pour les malheureux qui tombent ici en cherchant à faire l’inverse de ce que je propose : par défaut, CRON envoi un e-mail pour chaque commande qui renverrait des informations dans le terminal, a condition bien sûr, qu’un serveur de mail comme postfix soit installé… ;-)

Rediriger les sorties du terminal pour ne pas recevoir les mails du cron un billet consultable sur le blog Ohax - Internet libre, veille technologique & coups de gueule


Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles



Latest Images