Systemd — современный менеджер служб и процессов в Linux. Эта шпаргалка содержит все команды для управления системными службами, юнитами и мониторинга через journalctl.
ОСНОВНЫЕ КОМАНДЫ SYSTEMCTL
Управление службами:
| Команда | Описание | Пример |
|---|---|---|
systemctl start service |
Запустить службу | systemctl start nginx |
systemctl stop service |
Остановить службу | systemctl stop apache2 |
systemctl restart service |
Перезапустить службу | systemctl restart ssh |
systemctl reload service |
Перезагрузить конфиг | systemctl reload nginx |
systemctl status service |
Статус службы | systemctl status mysql |
systemctl enable service |
Включить автозагрузку | systemctl enable docker |
systemctl disable service |
Выключить автозагрузку | systemctl disable postfix |
systemctl is-enabled service |
Проверить автозагрузку | systemctl is-enabled cron |
systemctl is-active service |
Проверить активность | systemctl is-active network |
systemctl mask service |
Заблокировать службу | systemctl mask telnet.socket |
systemctl unmask service |
Разблокировать службу | systemctl unmask getty@tty1 |
Системные команды:
| Команда | Описание |
|---|---|
systemctl reboot |
Перезагрузка системы |
systemctl poweroff |
Выключение |
systemctl halt |
Остановка системы |
systemctl suspend |
Режим сна |
systemctl hibernate |
Гибернация |
systemctl rescue |
Режим восстановления |
systemctl emergency |
Аварийный режим |
ТИПЫ ЮНИТОВ (UNIT TYPES)
| Тип | Расширение | Описание | Пример |
|---|---|---|---|
| Служба | .service |
Системные службы | nginx.service |
| Сокет | .socket |
Сетевые сокеты | ssh.socket |
| Устройство | .device |
Аппаратные устройства | dev-sda.device |
| Монтирование | .mount |
Точки монтирования | home.mount |
| Автомонт | .automount |
Автоматическое монтирование | mnt.automount |
| Цель | .target |
Группа юнитов | multi-user.target |
| Таймер | .timer |
Запланированные задачи | daily.timer |
| Путь | .path |
Активация по изменению файлов | etc.path |
ПРОСМОТР ИНФОРМАЦИИ О ЮНИТАХ
| Команда | Описание |
|---|---|
systemctl list-units |
Показать все загруженные юниты |
systemctl list-units --all |
Показать все юниты (включая неактивные) |
systemctl list-units --type=service |
Только службы |
systemctl list-units --type=socket |
Только сокеты |
systemctl list-unit-files |
Показать все файлы юнитов |
systemctl list-dependencies unit |
Показать зависимости юнита |
systemctl show unit |
Показать все свойства юнита |
systemctl cat unit |
Показать содержимое файла юнита |
systemctl edit unit |
Редактировать юнит (создает overlay) |
systemctl daemon-reload |
Перезагрузить конфигурацию systemd |
ЦЕЛИ (TARGETS) — АНАЛОГ УРОВНЕЙ ЗАГРУЗКИ
| Цель | Описание | Аналог runlevel |
|---|---|---|
poweroff.target |
Выключение | 0 |
rescue.target |
Однопользовательский режим | 1 |
multi-user.target |
Многопользовательский без GUI | 3 |
graphical.target |
Многопользовательский с GUI | 5 |
reboot.target |
Перезагрузка | 6 |
emergency.target |
Аварийная оболочка | — |
Команды для работы с целями:
ТАЙМЕРЫ (TIMERS) — АНАЛОГ CRON
| Команда | Описание |
|---|---|
systemctl list-timers |
Показать все таймеры |
systemctl list-timers --all |
Все таймеры (включая неактивные) |
systemctl start timer |
Запустить таймер |
systemctl stop timer |
Остановить таймер |
Пример таймера (/etc/systemd/system/backup.timer):
|
[Unit] [Timer] [Install] |
СОЗДАНИЕ ПРОСТОЙ СЛУЖБЫ
Файл: /etc/systemd/system/myapp.service
|
[Unit] [Service] [Install] |
Команды после создания:
КОМАНДЫ JOURNALCTL (ПРОСМОТР ЛОГОВ)
| Команда | Описание |
|---|---|
journalctl |
Показать все логи |
journalctl -u service |
Логи конкретной службы |
journalctl -f |
Следить за логами в реальном времени (tail -f) |
journalctl -k |
Показать только логи ядра |
journalctl -b |
Логи текущей загрузки |
journalctl -b -1 |
Логи предыдущей загрузки |
journalctl --since "2024-01-15" |
Логи с даты |
journalctl --until "yesterday" |
Логи до даты |
journalctl -p err |
Только ошибки |
journalctl --disk-usage |
Размер логов на диске |
journalctl --vacuum-size=100M |
Очистить логи, оставить 100МБ |
journalctl --vacuum-time=1months |
Удалить логи старше 1 месяца |
journalctl -o json |
Вывод в формате JSON |
journalctl -o json-pretty |
Читаемый JSON |
journalctl _PID=1234 |
Логи по PID процесса |
ОПЦИИ СЛУЖБ (SERVICE OPTIONS)
Секция [Service] в .service файлах:
| Опция | Значения | Описание |
|---|---|---|
Type |
simple, forking, oneshot, dbus, notify, idle |
Тип службы |
User |
username |
Пользователь для запуска |
Group |
groupname |
Группа для запуска |
ExecStart |
команда |
Команда запуска |
ExecStop |
команда |
Команда остановки |
ExecReload |
команда |
Команда перезагрузки |
Restart |
no, on-success, on-failure, always |
Политика перезапуска |
RestartSec |
секунды |
Пауза перед перезапуском |
Environment |
VAR=value |
Переменные окружения |
WorkingDirectory |
/путь |
Рабочая директория |
LimitNOFILE |
число |
Лимит открытых файлов |
Nice |
-20..19 |
Приоритет (nice) |
БЫСТРЫЕ КОМАНДЫ ДЛЯ ПОВСЕДНЕВНОГО ИСПОЛЬЗОВАНИЯ
Дата последнего обновления: 12/05/2025.
