martes, 22 de febrero de 2022

Configurar programa de inicio (on startup) en Linux

Cómo configurar programa de inicio (on startup) en Linux 


Hola.

En este post voy a explicar cómo ejecutar un programa de inicio (on startup) en Linux

Esto es útil cuando requerimos que un programa esté disponible desde que prendemos la máquina. Ya sea que este programa sea requerido por otros servicios o por comodidad de no estar iniciándolo manualmente cada que prendemos la máquina.

En esta ocasión estoy configurando TIBCO EMS Server como programa de inicio

Para poner el programa on startup utilizo el siguiente script que pongo abajo. Para usarlo únicamente tienen que cambiar la ruta del programa en el parámetro ExecStart y las opciones que sean adecuadas para ustedes. No olviden guardarlo con extension .sh y dar permisos de ejecución con chmod 777 sobre el archivo para volverlo ejecutable. 

De manera general el programa realiza lo siguiente:
  • Crea el archivo del servicio tibco_ems.service en la ruta /etc/systemd/system 
  • Da permisos de ejecución al archivo creado. 
  • El contenido del archivo contiene las configuraciones del servicio a iniciar on startup. En este contenido esta la ruta del archivo ejecutable y parámetros necesarios para la ejecución. De los parámetros importantes a considerar: User (este usuario debe tener permiso de ejecutar el programa) y ExecStart
  • Registra el servicio, lo activa y lo inicia con systemctl


Script


ems_startup.sh


#! /bin/bash
echo create tibco_ems.service
touch /etc/systemd/system/tibco_ems.service
chmod 644 /etc/systemd/system/tibco_ems.service
cat <<EOT >> /etc/systemd/system/tibco_ems.service
[Unit]
Description=Tibco EMS server
After=syslog.target network.target

[Service]
Type=oneshot
RemainAfterExit=yes
User=oracle
ExecStart=/home/oracle/tibco/ems/8.2/bin/tibemsd64 -config "/home/oracle/TIBCO_HOME/tibco/cfgmgmt/ems/data/tibemsd.conf"

[Install]
WantedBy=multi-user.target
EOT

echo enable tibco_ems.service
systemctl daemon-reload
systemctl enable tibco_ems.service
systemctl start tibco_ems.service



Les dejo aquí también un video de cómo hacerlo.


Espero les sirva.


No hay comentarios.:

Publicar un comentario