Як я можу відмовити Cron надсилати мені електронні листи про результати роботи, яку я розкладаю?
Як я можу відмовити Cron надсилати мені електронні листи про результати роботи, яку я розкладаю?
Відповіді:
Якщо ви хочете, щоб одна робота припинила електронну пошту, просто додайте до неї / / dev / null 2> & 1
Наприклад:
0 * * * * /home/script >/dev/null 2>&1
Cron тільки листи вам , якщо є вихід, або на stdout
або stderr
.
Якщо це сценарій, який ви написали, зробіть його менш багатослівним - видаліть непотрібні echo
чи print
заяви. Перенаправлення stdout
на /dev/null
також є дійсним рішенням:
2 * * * * /my/script > /dev/null
Якщо після цього ви все ще отримуєте повідомлення, тоді вихід увімкнено stderr
, таким чином, це повинна бути помилка, яку ви повинні вирішити .. Якщо ні, ви можете переспрямувати stderr
на /dev/null
..
2 * * * * /my/script > /dev/null 2> /dev/null
..багато ігнорування повідомлень про помилки, як правило, погана ідея! (Як ви дізнаєтесь, коли робота зламується?
Ви можете перенаправити висновок певної команди з stderr на stdout за допомогою 2>&1
- наприклад:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..напряміть stdout
до /dev/null
своєї роботи з хроном - таким чином ви замовкнете гучну команду, не втрачаючи повідомлень про помилки