Неопознанная служба для существующей работающей службы - Ubuntu 18.04

Неопознанная служба для существующей работающей службы - Ubuntu 18.04

Я пытаюсь загрузить скрипт при загрузке в Ubuntu Server 18.04. Мой .serviceскрипт установлен в /etc/systemd/system, и я могу запустить:

service my-service start

и:

service my-service stop

Но когда я пытаюсь запустить при загрузке (что, согласно информации в Интернете, я должен сделать) с помощью:

 service my-service enable

система отвечает:

 my-service: unrecognised service

Поиск в Интернете подсказывает мне, как это сделать только в старых версиях Ubuntu, которые не применимы к 18.04, и я не могу определить правильную терминологию, чтобы найти ответ.

Сценарий:

# filename: /etc/systemd/system/my-service.service
[Unit]
Description=My Service
After=network.target
After=mysqld.service

[Service]
User=the-user
WorkingDirectory=/home/the-user/path-to-script
ExecStart=/home/the-user/path-to-script/start.sh
SuccessExitStatus=0
TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

У меня вопрос: Что я делаю не так? Как мне запустить эту службу при загрузке?

решение1

Используйте настоящую команду, которая systemdбудет выглядеть так:

sudo systemctl enable my-service

Для справки, вам не обязательно использовать главный системный каталог для файла модуля, если вы хотите, чтобы он запускался для обычного пользователя, например, вашего собственного. Вы можете создать его в каталоге, например:

~/.config/systemd/user/

Затем вы можете сделать:

systemctl --user enable my-service

Это позволяет избежать необходимостиsudo

Как вы отметили в своем комментарии, при запуске экземпляров директивы для каждого пользователя systemdони Userдолжны отсутствовать.

решение2

Примечание:
В других случаях, когда вы получаете ту же ошибку:
команда serviceпомещаетобъектпервый !

service foo start

Thesystemctlкоманда делает обратное:

systemctl start foo

Кроме того, в service нельзя добавить «.service», хотя можно, если использовать systemctl.

Связанный контент