systemd (systemctl, journalctl)
Управление сервисами, логи через journalctl, свой unit-файл и таймеры.
Сервисы
Статус сервиса
systemctl status <service>
Запустить, остановить, перезапустить
sudo systemctl restart <service>
Так же для start и stop.
Перечитать конфиг без перезапуска
sudo systemctl reload <service>
Включить автозапуск и сразу запустить
sudo systemctl enable --now <service>
Выключить автозапуск
sudo systemctl disable <service>
Упавшие сервисы
systemctl --failedВсе запущенные сервисы
systemctl list-units --type=service --state=runningЛоги (journalctl)
Логи сервиса в реальном времени
journalctl -u <service> -f
Логи за последний час
journalctl -u <service> --since "1 hour ago"
Логи текущей загрузки, только ошибки
journalctl -b -p errСообщения ядра
journalctl -kСколько места занимает журналпродвинутая
journalctl --disk-usageУменьшить журнал до 500 МБпродвинутая
sudo journalctl --vacuum-size=500MUnit-файлы
Показать unit-файл
systemctl cat <service>
Переопределить настройки, не трогая оригинал
sudo systemctl edit <service>
Перечитать unit-файлы после изменений
sudo systemctl daemon-reloadМинимальный unit для сервисапродвинутая
# /etc/systemd/system/<service>.service [Unit] Description=My app After=network.target [Service] ExecStart=/usr/bin/node /opt/app/server.js Restart=on-failure User=app Environment=NODE_ENV=production [Install] WantedBy=multi-user.target
Список таймеров (cron от systemd)продвинутая
systemctl list-timersИз чего складывается время загрузкипродвинутая
systemd-analyze blame