Arrêtez cron de m'envoyer un e-mail


10

Comment puis-je empêcher cron de m'envoyer par e-mail les résultats des travaux que je planifie?

Réponses:


15

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

Quelque chose comme:

SHELL=/bin/bash
MAILTO=



01 * * * *  /your/path/to/script/here.sh

12

Si vous voulez qu'un seul travail arrête le courrier électronique, vous y ajoutez simplement> / dev / null 2> & 1

Par exemple:

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

1
Si vous êtes sûr qu'une exécution se terminera avant le prochain démarrage, il peut être utile de rediriger la sortie vers un fichier nommé plutôt que vers / dev / null: cela donne la possibilité de vérifier ce qui est arrivé à la dernière exécution si vous suspectez un problème.
mas

4

Cron ne vous envoie un e-mail qu'en cas de sortie, sur stdoutou stderr.

Si ce scénario de que vous avez écrit, le rendre moins bavard - supprimer inutiles echoou printdéclarations. La redirection stdoutvers /dev/nullest également une solution valable:

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

Si vous obtenez toujours des messages après cela, alors la sortie est activée stderr, donc ce devrait être une erreur, que vous devez résoudre .. Sinon, vous pouvez rediriger stderrvers /dev/nullavec ..

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

..mais ignorer les messages d'erreur est généralement une mauvaise idée! (Comment saurez-vous quand la tâche cron est interrompue?)

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

..then directement stdoutà /dev/nullvotre tâche cron - de cette façon vous taire la commande haute voix, sans perdre des messages d'erreur

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.