2015-08-01 3 views
0

у меня есть этот скрипт на установке хрон, как это:Как остановить этот скрипт Bash от отправки электронной почты администратору?

*/10 * * * * /bin/sh /home/scripts/restart_apache 

И это сам скрипт:

#!/bin/bash 

cl=`awk '{print $1}' /proc/loadavg ` 
cll=`printf %.0f $cl` 

echo $cll 
if [ $cll -gt 100 ] 
then 
     /etc/init.d/apache restart 
fi 

Этот скрипт отправляет уведомления по электронной почте через каждые 10 минут, вопрос: Как отключить уведомление по электронной почте, но сохранить функциональность скрипта?

Спасибо за ваши ответы.

ответ

2

Письмо не отправляется из сценария. cron отправляет электронную почту с любым выходом, поэтому очевидным решением должно быть избавиться от вывода.

*/10 * * * * /bin/sh /home/scripts/restart_apache >/dev/null 2>&1 
+0

Привет, я знаю, что другие задания cron имеют>/dev/null 2> & 1, в чем разница между>/dev/null 2> & a и>/dev/null 2> & 1? если таковые имеются. –

+0

@NicoBlog Ошибка ввода Я предполагаю, должен быть '>/dev/null 2> & 1' – BroSlow

+0

@NicoBlog Да, это была просто опечатка – Barmar

2

На самом деле это демон cron, который отправляет сообщение, а не тот скрипт.

Вы можете вообще отключить эту функцию cron, просто добавив одну линию к вашему crontab: MAILTO="". Так что ваш кронтаб будет читать так:

MAILTO="" 
*/10 * * * * /bin/sh /home/scripts/restart_apache 

Чтобы узнать о таких вещах, он всегда это хорошая идея, чтобы прочитать немного о утилите, которые вы используете. Как правило, «страницы руководства Linux» предоставляют множество точной информации. Так что попробуйте с man 5 crontab :-)

+0

Спасибо, что это допустимый вариант, но он также отключает все электронные письма для всех других cron рабочие места не определенная работа, о которой я не хотел получать уведомления. Еще приятно знать. –

Смежные вопросы