Serviço não reconhecido para serviço existente e em funcionamento - Ubuntu 18.04

Serviço não reconhecido para serviço existente e em funcionamento - Ubuntu 18.04

Estou tentando carregar um script na inicialização do Ubuntu Server 18.04. Meu .servicescript está instalado /etc/systemd/systeme posso executar:

service my-service start

e:

service my-service stop

Mas quando tento rodar na inicialização (o que de acordo com a web devo fazer) com:

 service my-service enable

o sistema responde com:

 my-service: unrecognised service

Pesquisar na web apenas me diz como fazê-lo em versões mais antigas do Ubuntu que não se aplicam ao 18.04 e não consigo determinar a terminologia correta para encontrar a resposta.

O roteiro:

# 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

Minha pergunta é: o que estou fazendo de errado? Como posso iniciar este serviço na inicialização?

Responder1

Use o comando real, que systemdseria:

sudo systemctl enable my-service

Para referência, você não precisa usar o diretório principal do sistema para o arquivo da unidade se quiser que ele seja executado para um usuário normal, por exemplo, o seu. Você pode criá-lo em um diretório como:

~/.config/systemd/user/

Então você pode fazer:

systemctl --user enable my-service

Isto evita a necessidade desudo

Como você observou em seu comentário, ao executar instâncias por usuário da systemddiretiva Userdeve estar ausente

Responder2

Observação:
Em outros casos, você obtém o mesmo erro:
O servicecomando coloca oobjetoprimeiro !

service foo start

Osystemctlcomando faz o oposto:

systemctl start foo

Além disso, em serviço, você não pode adicionar ".service", mas pode usar o systemctl.

informação relacionada