Syntax highlighting of 2fed081 ~( linux/systemd)
# SystemD [TOC] ## Полезные команды ```bash # --- systemd timers # полезно, если нужно узнать про автообновление сертификатов certbot systemctl list-timers ``` ## Logs [Управление логгированием в systemd](https://blog.selectel.ru/upravlenie-loggirovaniem-v-systemd/) ```bash # получение журнала сервиса journalctl -u cadvisor ``` ## Запускаем программу как сервис [Источник](https://devopscube.com/monitor-linux-servers-prometheus-node-exporter/) ```bash # создаем специального пользователя 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` Продолжаем... ```bash # перезагружаем системный демон 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 ```
