Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Both sides previous revision Попередня ревізія Наступна ревізія | Попередня ревізія | ||
systemd [2015/04/16 00:56] wombat mount-data.service |
systemd [2017/06/30 00:02] (поточний) wombat e-mail on failure |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
====== systemd ====== | ====== systemd ====== | ||
+ | |||
+ | ====== Настройка ====== | ||
===== Службы ===== | ===== Службы ===== | ||
Рядок 34: | Рядок 36: | ||
- | ===== Создание ===== | + | ===== Настройка времени ===== |
+ | |||
+ | timedatectl list-timezones | ||
+ | sudo timedatectl set-timezone Europe/Kiev | ||
+ | |||
+ | ((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 | ||
+ | |||
+ | |||
+ | ====== Создание ====== | ||
==== Службы ==== | ==== Службы ==== | ||
Рядок 93: | Рядок 140: | ||
... | ... | ||
</file> | </file> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Ссылки ===== | ||
+ | |||
+ | http://www.freedesktop.org/software/systemd/man/systemd.service.html | ||
+ | |||
+ | http://www.freedesktop.org/software/systemd/man/systemd.unit.html | ||
+ | |||
+ | https://wiki.archlinux.org/index.php/Systemd#Writing_unit_files |