Как я могу остановить cron отправлять мне по электронной почте результаты заданий, которые я планирую?
10
Установив переменную окружения "MAILTO" как ""
Что-то вроде:
SHELL=/bin/bash
MAILTO=
01 * * * * /your/path/to/script/here.sh
Если вы хотите, чтобы одно задание прекратило работу с электронной почтой, просто добавьте> / dev / null 2> & 1 к нему
Например:
0 * * * * /home/script >/dev/null 2>&1
Cron только отправляет вам электронное письмо, если есть вывод, либо на,
stdout
либоstderr
.Если это сценарий, который вы написали, сделайте его менее многословным - удалите ненужные
echo
илиprint
утверждения. Перенаправлениеstdout
на/dev/null
также является допустимым решением:Если после этого вы по-прежнему получаете сообщения, значит, выход включен
stderr
, поэтому это должна быть ошибка, которую следует устранить. Если нет, вы можете перенаправитьstderr
с/dev/null
помощью ....хорошо игнорировать сообщения об ошибках, как правило, плохая идея! (Как вы узнаете, когда работа cron будет прервана?)
Вы можете перенаправить вывод конкретной команды из stderr в stdout, используя,
2>&1
например:..то направить
stdout
на/dev/null
вашей хроны работы - таким образом вы молчание громких команд, не теряя при этом сообщениях об ошибкахисточник