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.
- 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
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.