Как управлять сервисом через systemd и смотреть его логи?
- Как сделать, чтобы сервис перезапускался после падения?
systemd — система инициализации и менеджер сервисов. Сервис описывают unit-файлом (/etc/systemd/system/app.service): команда запуска, пользователь, перезапуск (Restart=on-failure), зависимости, лимиты. Управление: systemctl start|stop|restart|status|enable. Логи: journalctl -u app -f.
- enable — запуск при загрузке, start — сейчас
- После изменения unit-файла — systemctl daemon-reload
- journalctl --since "1 hour ago", -p err — фильтры по времени и уровню
А ещё В контейнерных средах эту роль играет оркестратор, а systemd остаётся на хостах
Подробно
Ключевые параметры:
User— не запускать сервисы от root;Restart=on-failure,RestartSec— автоматический перезапуск;LimitNOFILE— лимит открытых файлов (частая причина «Too many open files» под нагрузкой);TimeoutStopSec— сколько ждать после SIGTERM до SIGKILL;After/Requires— порядок и зависимости.
Диагностика: systemctl status app (последние строки лога и код выхода), journalctl -u app -n 200, systemctl list-units --failed.
Таймеры systemd — альтернатива cron с логированием и зависимостями.
Пример
[Unit]
Description=Orders API
After=network-online.target
[Service]
User=orders
ExecStart=/opt/orders/bin/server
Restart=on-failure
RestartSec=5
Environment=APP_ENV=prod
LimitNOFILE=65536
[Install]
WantedBy=multi-user.targetЧто хотят услышать
- Unit-файл и основные параметры.
- Команды управления и логи.
- Перезапуск и лимиты.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Unit-файл, управление через systemctl (enable — автозапуск при загрузке), логи — journalctl -u
- ✗Unit-файл, управление через systemctl (enable — запуск сейчас, start — при загрузке), логи — /var/log
- ✗После правки unit-файла перечитывать конфигурацию не нужно
- ✗Логи сервиса systemd смотрят только в /var/log/app.log
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.