Я пытаюсь перезапустить системный процесс через 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
что приводит к подавлению выхода.