Come posso impedire a cron di inviarmi via e-mail i risultati dei lavori che pianifico?
Come posso impedire a cron di inviarmi via e-mail i risultati dei lavori che pianifico?
Risposte:
Se vuoi che un singolo lavoro interrompa la posta elettronica, aggiungi semplicemente> / dev / null 2> & 1
Per esempio:
0 * * * * /home/script >/dev/null 2>&1
Cron ti invia un'e-mail solo se c'è output, su stdouto stderr.
Se è lo script che hai scritto, rendilo meno dettagliato - rimuovi inutili echoo printdichiarazioni. Il reindirizzamento stdouta /dev/nullè anche una soluzione valida:
2 * * * * /my/script > /dev/null
Se ricevi ancora messaggi dopo averlo fatto, l'output è attivo stderr, quindi dovrebbe essere un errore, che dovresti risolvere .. In caso contrario, puoi reindirizzare stderra /dev/nullcon ..
2 * * * * /my/script > /dev/null 2> /dev/null
.. anche se ignorare i messaggi di errore è generalmente una cattiva idea! (Come fai a sapere quando il cron job è rotto?)
È possibile reindirizzare l'output di un comando specifico da stderr a stdout utilizzando 2>&1, ad esempio:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..quindi direttamente stdouta /dev/nullnel vostro lavoro cron - in questo modo si tacere i comandi a voce alta, senza perdere i messaggi di errore