$ command-helper

systemd (systemctl, journalctl)

Управление сервисами, логи через journalctl, свой unit-файл и таймеры.

Потребуется вход через Google

Сервисы

Статус сервиса
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=500M

Unit-файлы

Показать 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