Iniciando procesos al arrancar el sistema en Ubuntu 16.04 con Supervisor

Hola, ¿Alguna vez han necesitado iniciar un proceso en el arranque del sistema? Yo si, y en un montón de ocasiones, y hasta el momento, la solución mas sencilla que he encontrado es usando Supervisor, un sistema que nos permite monitorear y controlar procesos.

En este pequeño tutorial mostraré como iniciar con el arranque del sistema el servicio de Git Gogs del cual hablé anteriormente.

Lo primero que tenemos que hacer es instalar supervisor:

sudo apt-get install supervisor

Una ves instalado, debemos activar el arranque de supervisor, que debido a un bug, el cual provoca que no inicia automáticamente con el sistema:

sudo systemctrl enable supervisor
sudo systemctrl start supervisor

Ya instalado y funcionando Supervisor, debemos crear los ficheros que controlaran el arranque y monitoreo de los servicios deseados, en el caso de este ejemplo es para la aplicación Gogs, así que:

sudo nano /etc/supervisor/conf.d/gogs.conf

Y escribimos en dicho fichero:

[program:gogs]
command=/home/gogs/gogs web
autostart=true
autorestart=true
stderr_logfile=/var/log/gogs.err.log
stdout_logfile=/var/log/gogs.out.log

Donde la línea:

[program:gogs]

Especifica el nombre del programa, la línea:

command=/home/gogs/gogs web

Especifica el comando a ejecutar, las lineas:

autostart=true
autorestart=true

Significan que el programa se va a ejecutar automáticamente en el inicio, y que en caso de cerrarse (por un error por ejemplo) volverá a iniciar.

Las últimas dos líneas especifican donde Supervisor escribirá los logs de salida y errores del programa a ejecutar.

Podríamos crear un fichero de inicio mas completo agregando estas otras opciones:

[program:gogs]
directory=/home/gogs/
command=/home/gogs/gogs web
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/gogs/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment = HOME=”/home/gogs”, USER=”gogs”
user = gogs

Me gustaría especificar que en las dos últimas opciones gogs es el usuario con que se ejecutará la aplicación.

Guardamos el nuevo fichero con Ctrl+s y ya está todo listo, al arrancar el sistema la aplicación Gogs también iniciará, y si por algún motivo el servicio se detiene (ya sea por un error o por una sobrecarga) volverá a iniciar automáticamente, vale aclarar que usando este procedimiento podemos configurar el inicio automático de tantos servicios como deseemos.

Deja un comentario

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

*