Як я можу відмовити 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своєї роботи з хроном - таким чином ви замовкнете гучну команду, не втрачаючи повідомлень про помилки