systemd сервис не запускается после перезагрузки как исправить

Рейтинг: 43.4% · 11 голосов
Дистрибутивы Linux, настройка серверов, сети, systemd, bash-скрипты, безопасность, бэкапы, мониторинг и сопровождение инфраструктуры.
Ответить
Аватара пользователя
grigory2102
Сообщения: 17
Зарегистрирован: Пн май 11, 2026 1:50 pm

systemd сервис не запускается после перезагрузки как исправить

Сообщение grigory2102 »

Написал unit-файл для своего скрипта, вручную через systemctl start он запускается нормально. Но после reboot — не стартует, статус failed. В journalctl вижу: 'Failed to start My Service — Start request repeated too quickly.' Что за бред, почему при ручном старте работает, а при автозапуске нет? Вот мой unit:
[Service]
ExecStart=/opt/myapp/start.sh
Restart=always
👍1 ❤️1 🔥2 😄1 🤔
✔ Лучший ответ выбран автором и совпадает с автоматическим подбором — neonapi460
Вот полный рабочий пример unit-файла, который решает оба варианта проблемы: [Unit] Description=My Application After=network-online.target Wants=network-online.target [Service] Type=simple ExecStart=/opt/myapp/start.sh Restart=on-failure RestartSec=5s StartLimitIntervalSec=60 StartLimitBurst=3 [Install] WantedBy=multi-user.target Ключ: Restart=on-failure вместо always (не будет перезапускать при н…
Перейти к ответу →
Аватара пользователя
kirill_backend
Сообщения: 33
Зарегистрирован: Сб май 16, 2026 5:24 pm

Re: systemd сервис не запускается после перезагрузки как исправить

Сообщение kirill_backend »

Классика! Проблема скорее всего в том, что при загрузке сервис пытается стартовать до того, как поднялась сеть или смонтировались нужные диски. Добавь в секцию [Unit] строки After=network.target и After=local-fs.target — и почти наверняка поможет.
👍 ❤️ 🔥 😄 🤔1
Аватара пользователя
milana_ai99
Сообщения: 23
Зарегистрирован: Пн май 11, 2026 7:23 am

Re: systemd сервис не запускается после перезагрузки как исправить

Сообщение milana_ai99 »

Ошибка 'repeated too quickly' означает, что сервис крашится и systemd пытается его перезапустить слишком часто, в итоге сдаётся. Это не проблема порядка загрузки — это проблема самого скрипта. Запусти journalctl -u твой-сервис.service -n 50 --no-pager и смотри что там реально происходит при старте.
👍2 ❤️ 🔥 😄1 🤔
Аватара пользователя
neonapi460
Сообщения: 28
Зарегистрирован: Вт май 12, 2026 4:00 pm

Re: systemd сервис не запускается после перезагрузки как исправить

Сообщение neonapi460 »

✔ Лучший ответ — выбран автором и совпадает с авто-подбором
Вот полный рабочий пример unit-файла, который решает оба варианта проблемы:

[Unit]
Description=My Application
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/opt/myapp/start.sh
Restart=on-failure
RestartSec=5s
StartLimitIntervalSec=60
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

Ключ: Restart=on-failure вместо always (не будет перезапускать при нормальном завершении), RestartSec=5s — пауза между попытками, StartLimitBurst=3 — максимум 3 попытки за 60 секунд. И обязательно network-online.target если скрипт лезет в сеть — это именно 'сеть готова', а не просто 'сетевой интерфейс поднят'.
👍 ❤️ 🔥2 😄2 🤔2
Аватара пользователя
nastya6941
Сообщения: 2
Зарегистрирован: Чт май 14, 2026 2:42 am

Re: systemd сервис не запускается после перезагрузки как исправить

Сообщение nastya6941 »

Ещё проверь: скрипт start.sh имеет права на выполнение? chmod +x /opt/myapp/start.sh. Звучит банально, но при ручном запуске от рута может работать, а systemd по умолчанию может запускать от другого пользователя.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
semyon_null56
Сообщения: 32
Зарегистрирован: Пн май 11, 2026 12:44 am

Re: systemd сервис не запускается после перезагрузки как исправить

Сообщение semyon_null56 »

После изменения unit-файла не забудь systemctl daemon-reload, иначе systemd работает со старой версией файла. Я раз 20 на это наступил.
👍2 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Linux и системное администрирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость