Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Both sides previous revision Попередня ревізія | |||
systemd [2015/04/16 10:28] wombat настройка системного времени |
systemd [2017/06/30 00:02] (поточний) wombat e-mail on failure |
||
---|---|---|---|
Рядок 42: | Рядок 42: | ||
((https://wiki.archlinux.org/index.php/Time)) | ((https://wiki.archlinux.org/index.php/Time)) | ||
+ | |||
+ | |||
+ | ===== Уведомление на e-mail ===== | ||
+ | |||
+ | Чтобы получать уведомления на электронную почту об ошибке запуска некоторой службы systemd, нужно((https://wiki.archlinux.org/index.php/Systemd/Timers#MAILTO)) сделать следующее: | ||
+ | |||
+ | **1.** Создать скрипт отправки сообщения (пример дан для ''bsd-mailx''; для ''sendmail'' можно посмотреть [[https://wiki.archlinux.org/index.php/Systemd/Timers | здесь]]). | ||
+ | |||
+ | <file bash "/usr/local/bin/systemd-email"> | ||
+ | #!/bin/bash | ||
+ | |||
+ | export LANG=C | ||
+ | /usr/bin/mail -a "Content-Transfer-Encoding: 8bit" -a "Content-Type: text/plain; charset=UTF-8" -s "$2" $1 <<ERRMAIL | ||
+ | |||
+ | $(systemctl status --full "$2") | ||
+ | ERRMAIL | ||
+ | </file> | ||
+ | |||
+ | **2.** Создать службу systemd для отправки сообщения. | ||
+ | |||
+ | <file ini "/etc/systemd/system/status-email-admin@.service"> | ||
+ | [Unit] | ||
+ | Description=status email for %i to admin | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart=/usr/local/bin/systemd-email admin@server.org %i | ||
+ | #User=nobody | ||
+ | User=root | ||
+ | Group=systemd-journal | ||
+ | </file> | ||
+ | |||
+ | Здесь "''admin@server.org''" -- это e-mail, на который нужно высылать сообщение. Пользователь "''root''" нужен для случая, когда ''systemctl'' не запускается от других пользователей. В противном случае лучше использовать пользователя "''nobody''". | ||
+ | |||
+ | **3.** Если всё настроилось и работает, то нужно добавить следующую строку в раздел ''[Unit]'' файлов служб systemd, при ошибке запуска которых требуется высылать письмо: | ||
+ | |||
+ | OnFailure=status-email-admin@%n.service | ||