SystemD

Полезные команды

# --- systemd timers
#     полезно, если нужно узнать про автообновление сертификатов certbot
systemctl  list-timers

Logs

Управление логгированием в systemd

# получение журнала сервиса
journalctl -u cadvisor

Запускаем программу как сервис

Источник

# создаем специального пользователя
sudo useradd -rs /bin/false node_exporter
# создаем сервисный файл
sudo vim /etc/systemd/system/node_exporter.service

Содержание сервисного файла

[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
Environment="SECRET=secret"
Environment="SECRET_2=anothersecret"
ExecStart=/usr/local/bin/node_exporter
WorkingDirectory=/home/ubuntu/weather
StandardOutput=append:/var/log1.log
StandardError=append:/var/log2.log

[Install]
WantedBy=multi-user.target

Аргументы в команде ExecStart передаются обычным образом

ExecStart=/usr/local/bin/node_exporter --foo=bar

Команд ExecStart может быть несколько. Если для [Service] не заданы User и Group, то сервис запускается от root

Продолжаем...

# перезагружаем системный демон
sudo systemctl daemon-reload
# запускаем программу как сервис
sudo systemctl start node_exporter
# проверяем статус
sudo systemctl status node_exporter
# добавляем в автозапуск
sudo systemctl enable node_exporter

# удаляем из автозапуска
sudo systemctl disable node_exporter
# останавливаем сервис
sudo systemctl stop node_exporter