Я хочу отслеживать, когда какая-либо из наших машин запускает команду выключения, чтобы она могла отправить электронное письмо или уведомление о неизбежной перезагрузке / выключении. Я подумал, что при запуске выключения он, вероятно, ретранслирует широковещательное сообщение в системный журнал, но я не вижу, чтобы оно сохранялось ни в одном из журналов. Есть ли способ регистрировать каждый раз, когда запускается эта команда?
[править] Для пояснения, когда запускается команда выключения, я имею в виду, когда она начинается работает (или когда он впервые сообщает об отключении) НЕ когда фактически запускается выключение системы. Поэтому я хочу иметь возможность улавливать, когда он отправляет такое сообщение: система отключается для перезагрузки через 5 минут!
Если вы хотите отслеживать только команду выключения:
Проблема в том, что у вас не будет записи, если кто-то просто нажмет кнопку сброса. Для этого надежным способом является ведение журнала запуска машины.
Обратите внимание, что последний журнал создает запись при запуске машины.
Возможна внеполосная запись с использованием BMC / LOM / IPMI. Вы можете использовать это, если ваша материнская плата имеет встроенный BMC, или вы установили BMC в качестве платы расширения.
Я не нашел способа отправить уведомление при выключении (в RedHat). И имейте в виду:
Но вы можете выполнять действия при запуске с помощью cron, используя @reboot "ник".
Итак, если сценарий /usr/local/bin/email-on-reboot.sh отправляет электронное письмо / уведомление о запуске, добавьте это в /etc/crontab
:
@reboot /usr/local/bin/email-on-reboot.sh
Вы можете изменить syslog.conf, чтобы перехватить эти сообщения.
например, если у вас стандартный системный журнал, тогда строка
*.* /var/log/all.log
хранить все сообщения.
Если у вас есть rsyslog (например, современный debian), вы можете запустить какой-нибудь скрипт (отправить электронное письмо и т. Д.) При событии