Что нужно для автозапуска службы через systemd?
[Install]
, то они не могут быть включены для автоматического старта с помощью systemctl enable
. Это может происходить с временными или служебными юнитами, которые не предназначены для постоянного запуска через systemd.
Возможные варианты решения:
- Создать юнит-файл с секцией
[Install]
: Если требуется, чтобы служба запускалась при загрузке системы, добавьте секцию[Install]
в юнит-файл:123[Install]WantedBy=multi-user.targetmulti-user.target
, что позволит системе запускать службу при старте. - Ручной запуск после перезагрузки: Если служба не должна автоматически запускаться, можно настроить её запуск вручную с помощью:
12systemctl start <имя_службы>
- Использование стороннего скрипта для старта службы при загрузке: В случае, если редактировать юнит-файл нежелательно или невозможно, вы можете создать скрипт в
/etc/rc.local
или в директории автозагрузки, который будет запускать службу при перезагрузке:123#!/bin/bashsystemctl start <имя_службы> - Таймер systemd: Если нужно запускать службу через определённые интервалы или по расписанию, можно использовать таймеры systemd. Для этого создайте юнит-файл для таймера, который будет активировать службу по расписанию.Например:
12345678910[Unit]Description=Запуск службы по таймеру[Timer]OnBootSec=10minOnUnitActiveSec=24h[Install]WantedBy=timers.target12systemctl enable <имя_таймера>
[Install]
.
Recommended Posts
jq — инструмент для обработки JSON-данных
28.02.2024
Ansible, как перезапустить службу systemd?
10.03.2023