Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
Модератор: Модераторы разделов
-
abc123
- Сообщения: 32
Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
-
Vascom
- Сообщения: 1699
- ОС: Fedora 32
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
Что значит "не выполнилась"?
-
Skyb
- Сообщения: 967
- ОС: RFremix 18
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
Отслеживать результат работы программы (команды в данном случае) и в случае отсутствия результата аларм
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
Если команда выдает действительные коды возврата (они же exit codes), то можно попробовать примерно такую конструкцию:
Код: Выделить всё
command || echo "Command failed" | mail -s "failure report" user@example.org-
Gineaser
- Сообщения: 157
- Статус: Evrashka
- ОС: Arch Linux
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
обычное соединение || не подойдет? В случае если не выполнится первая команда (вернет 1, т.к. true = 0), выполняется вторая
Обезьянка видит - Обезьянка делает...
-
Vascom
- Сообщения: 1699
- ОС: Fedora 32
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
Сколько телепатов развелось.
Может подождём ответа топикстартера, что именно он подразумевает под "не выполнилась" и что за команда?
Может подождём ответа топикстартера, что именно он подразумевает под "не выполнилась" и что за команда?
-
Skyb
- Сообщения: 967
- ОС: RFremix 18
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
-
abc123
- Сообщения: 32
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
По crontab выполняется скрипт каждую минуту, со следующей командой:
Как мне в случае невыполнения этой команды в скрипте отправит сообщение на email?/usr/bin/php -f /home/user/public_html/script.php
-
nickm
- Сообщения: 203
- ОС: RFRemix
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
cron отправляет вывод команды на email указанный через переменную MAILTO
Ну и логика -
скрипт выполнился норм - ничего не выводит;
ошибка, ругань скрипта уходит на указанный email.
Ну и логика -
скрипт выполнился норм - ничего не выводит;
ошибка, ругань скрипта уходит на указанный email.
-
abc123
- Сообщения: 32
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
такая логика потому что задание выполняется каждую минуту. зачем на почту сообщения каждую минуту
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
abc123, вам стоило бы чуток повнимательнее прочесть предыдущее сообщение. ;)
Письмо вам придет только в том случае, если при выполнении скрипта произойдет ошибка и в STDERR будет что-то выведено. Главное, чтобы сам скрипт еще соблюдал "правила хорошего тона", то бишь выводил обычные сообщения в STDOUT, сообщения об ошибках - в STDERR, а при завершении работы возвращал exit code.
Письмо вам придет только в том случае, если при выполнении скрипта произойдет ошибка и в STDERR будет что-то выведено. Главное, чтобы сам скрипт еще соблюдал "правила хорошего тона", то бишь выводил обычные сообщения в STDOUT, сообщения об ошибках - в STDERR, а при завершении работы возвращал exit code.
-
abc123
- Сообщения: 32
Re: Как сделать в CentOS чтобы если команда не выполнилась по крону, то отправилось на email сообщение с ошибкой?
спасибо, указал переменную MAILTO.
Но письма не приходят.
Но письма не приходят.