Arrêtez cron de m'envoyer un courriel

Comment puis-je empêcher Cron de m'envoyer un e-mail aux résultats des emplois que je planifie?

En définissant la variable d'environnement "MAILTO" comme ""

Somethig aime:

SHELL=/bin/bash MAILTO= 01 * * * * /your/path/to/script/here.sh 

Si vous souhaitez qu'un seul travail empêche le courrier électronique, il suffit d'ajouter> / dev / null 2> & 1 to it

Par exemple:

 0 * * * * /home/script >/dev/null 2>&1 

Cron ne vous envoie que des emails s'il existe une sortie, soit sur stdout , soit sur stderr .

Si c'est un script que vous avez écrit, rendez-le moins détaillé – supprimez les echo ou print instructions d' print inutiles. La redirection de stdout vers /dev/null est également une solution valide:

 2 * * * * /my/script > /dev/null 

Si vous obtenez toujours des messages après avoir fait cela, alors la sortie est sur stderr , il devrait donc s'agir d'une erreur, que vous devriez résoudre. Sinon, vous pouvez rediriger stderr vers /dev/null avec …

 2 * * * * /my/script > /dev/null 2> /dev/null 

.. Bien que ne pas tenir compte des messages d'erreur est généralement une mauvaise idée! (Comment saurez-vous quand le travail de cron est cassé?)

Vous pouvez rediriger la sortie d'une commande spécifique de stderr vers stdout en utilisant 2>&1 – par exemple:

 command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout 

.. alors direct stdout à /dev/null dans votre travail cron – de cette façon, vous faites taire la commande forte, sans perdre les messages d'erreur