Назад | Перейти на главную страницу

Почему cron отправляет мне вывод программы, хотя я перенаправлен на / dev / null?

Я пытаюсь перезапустить системный процесс через cron и получаю по электронной почте результаты запуска процесса. Я думал, что перенаправление STDOUT и SDTERR в / dev / null «заглушит» вывод, но, увы, это не сработало. Как я могу заставить cron автоматически перезапустить эту службу? запись crontab:

0 6 * * * service sympa stop &>/dev/null; service sympa start &> /dev/null

пример вывода из письма о перезапуске:

 Stopping Sympa bounce manager bounced
   ...done.
 * Stopping Sympa task manager task_manager
   ...done.
 * Stopping Sympa mailing list archive manager archived
   ...done.
 * Stopping Sympa mailing list manager sympa
   ...done.
 ... waiting Prototype mismatch: sub Lock::LOCK_SH () vs none at /home/sympa/bin/Lock.pm line 38.
Constant subroutine LOCK_SH redefined at /home/sympa/bin/Lock.pm line 38.
Prototype mismatch: sub Lock::LOCK_EX () vs none at /home/sympa/bin/Lock.pm line 39.
Constant subroutine LOCK_EX redefined at /home/sympa/bin/Lock.pm line 39.
Prototype mismatch: sub Lock::LOCK_NB () vs none at /home/sympa/bin/Lock.pm line 40.
Constant subroutine LOCK_NB redefined at /home/sympa/bin/Lock.pm line 40.

Я думаю, вам нужна следующая строка

service sympa stop >/dev/null 2>&1.

Первая команда отправляет стандартный вывод в /dev/null затем 2>&1 причины stderr (standard error) быть отправленным куда stdout(standard output) идет который /dev/null что приводит к подавлению выхода.