Servicio no reconocido para un servicio existente que funciona: Ubuntu 18.04

Servicio no reconocido para un servicio existente que funciona: Ubuntu 18.04

Estoy intentando cargar un script al arrancar en Ubuntu Server 18.04. Mi .servicescript está instalado en /etc/systemd/systemy puedo ejecutar:

service my-service start

y:

service my-service stop

Pero cuando intento ejecutar en el arranque (que según la web debería hacer) con:

 service my-service enable

el sistema responde con:

 my-service: unrecognised service

Buscar en la web solo me dice cómo hacerlo en versiones anteriores de Ubuntu que no se aplican a 18.04 y no puedo determinar la terminología correcta para encontrar la respuesta.

La secuencia de comandos:

# 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

Mi pregunta es: ¿Qué estoy haciendo mal? ¿Cómo puedo iniciar este servicio al arrancar?

Respuesta1

Utilice el comando real, que systemdsería:

sudo systemctl enable my-service

Como referencia, no es necesario utilizar el directorio principal del sistema para el archivo de unidad si desea que se ejecute para un usuario normal, por ejemplo el suyo. Puedes crearlo en un directorio como:

~/.config/systemd/user/

Entonces puedes hacer:

systemctl --user enable my-service

Esto evita la necesidad desudo

Como ha señalado en su comentario, cuando se ejecutan instancias por usuario de systemdla Userdirectiva deberían estar ausentes

Respuesta2

Nota:
En otros casos en los que obtiene el mismo error:
El servicecomando coloca elobjetoprimero !

service foo start

ElsystemctlEl comando hace lo contrario:

systemctl start foo

Además, en el servicio, no puede agregar ".service", mientras que puede hacerlo si usa systemctl.

información relacionada