Como crear servicios en Linux

A veces requerimos crear unos servicios en Linux para que
nuestro script o aplicación se inicialice de forma automática con el sistema.

Esto se puede lograr de varias formas, pero creo que esta es una de las mejores opciones, porque tenemos la facilidad de parar, iniciar y reiniciar el servicio, además de que si algo falla y el servicio se para, automáticamente volverá a iniciar.

Creación del servicio

1. Se va a crear un archivo con el nombre de nuestro servicio, seguido de un ¨.service¨ en la ruta /etc/systemd/system/


sudo nano /etc/systemd/system/nombre-del-servicio.service

En este punto, estaremos dentro del archivo ¨nombre-del-servicio.service¨ con permisos de administrador.

2. Agregaremos el sigiente código en este archivo.


[Unit]
Description=Packready App Dev Version
After=syslog.target

[Service]
User=root
ExecStart=/usr/bin/java -jar /ruta/a/tu/script.sh
SuccessExitStatus=143
Restart=always

[Install]
WantedBy=multi-user.target

En mi caso, la ruta de mi aplicación está en mi home, por lo que mi ruta es más o menos así:


/home/usrlx/apps/tecnet.jar

3. Se reinicia el demonio, se habilita el servicio y finalmente se le da inicio al servicio, esto en teoría sólo se hace una vez. A menos de que haya un cambio los nombres o configuración del servicio.


sudo systemctl daemon-reload
sudo systemctl enable nombre-del-servicio.service
sudo systemctl start nombre-del-servicio.service

4. Verificamos que el servicio esté funcionando.


sudo systemctl status nombre-del-servicio.service

5. Los siguientes comandos son de control, para poder iniciar, para y reiniciar el servicio.


sudo systemctl start nombre-del-servicio.service
sudo systemctl stop nombre-del-servicio.service
sudo systemctl restart nombre-del-servicio.service
sudo systemctl status nombre-del-servicio.service

Conclusión

Los servicios son algo imprescindible si necesitas tener un contorl en tus servicios y de esta forma tienes un acceso más rápido al uso de comandos para poder manejarlos.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *