En esta oportunidad les muestro como crear un script y poder lanzarlo al inicio del sistema, con systemd, y probado en un Debian 9 claro, con su breve explicación para poder entender como hacerlo y no morir en el intento, de paso aprender algo más que nos puede ser de utilidad.
1- Crear un script
Antes que nada necesitamos crear un script que no es más que un simple archivo, que debe contener algo muy importante para arrancar y es #!/bin/bash, así que usamos un editor, en mi caso nano para crearlo:
# nano /usr/local/sbin/servicios
Dentro vamos a colocar lo que necesitamos quedando con la siguiente estructura:
#!/bin/bash CONTENIDO
Una vez que lo guardamos con F2, le damos permisos de ejecución.
# chmod +x /usr/local/sbin/servicios
2- Crear el servicio con systemd
Es importante que el nombre al final termine con .service, dado que así lo entenderá systemd. Recordá que también debe tener permisos (otra forma es # chmod 777 servicio.service)
# nano /etc/systemd/system/servicios.service
El contenido será el siguiente, teniendo en cuenta que la primera de las instrucciones especifica que se debe iniciar tras sección syslog.target.
ExecStart=/usr/local/sbin/servicio.service se da la ruta en dónde realmente está el script a ejecutar.
Después viene el tipo de servicio que hay varios, pero para este caso será:
[Service] Type=forking
Por último, la sección [Install] nos dice en qué runlevel se ejecutará. En el modo multiusuario o en el clásico sysv, que sería el runlevel 3.
El contenido entonces deberá ser algo como:
[Unit] Description=Lanza servicios varios After=syslog.target [Service] Type=forking ExecStart=/usr/local/sbin/servicios [Install] WantedBy=multi-user.target
3- Una vez este todo configurado debemos recargar.
# systemctl daemon-reload
Para lanzar el servicio simplemente hacemos:
# systemctl start servicios.service
Para habilitarlo al inicio y que se lance automáticamente:
# systemctl enable servicios.service
Y finalmente para ver el estado podemos hacer:
# systemctl status servicios.service