miércoles, 20 de mayo de 2015

Script para lanzar aplicación con start-stop-daemon a nivel de sistema

La mayoría de las distribuciones de GNU/Linux utilizan start-stop-daemon en sus scripts de inicio systemV. Esto facilita la creación de procesos al inicio con parámetros como usuario, aplicación, entorno, etc. modificables.
En este caso, debido a la migración de un sistema windows a ubuntu, es necesario lanzar una aplicación de windows con wine y un usuario determinado.
Primero creamos el archivo script
vi /etc/init.d/opac
y le editamos el siguiente contenido:
#!/bin/sh

### BEGIN INIT INFO
# Provides:          Catalogo
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     true
# Short-Description: Opac CRUB
# Description:       Catalogo OnLine de la Biblioteca
#                    CRUB UNCo
### END INIT INFO

set -e
NAME=opac
PIDFILE=/var/run/$NAME.pid
#This is the command to be run, give the full pathname
DAEMON=/usr/bin/wine
DAEMON_OPTS=" /home/hector/.wine/drive_c/OpenMP/apache/Apache.exe -k start"

export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"

case "$1" in
  start)
        echo -n "Starting daemon: "$NAME
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
        echo "."
        ;;
  stop)
        echo -n "Stopping daemon: "$NAME
        start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
        echo "."
        ;;
 restart)
        echo -n "Restarting daemon: "$NAME
        start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
        echo "."
        ;;

  *)
        echo "Usage: "$1" {start|stop|restart}"
        exit 1
esac

exit 0

Luego de esto damos atributo de ejecución
chmod +x /etc/init.d/opac
Y finalmente agregamos el servicio a nuestro run level.
 update-rc.d opac defaults





Fuentes:

http://www.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap3sec21.html
http://manpages.ubuntu.com/manpages/saucy/man8/start-stop-daemon.8.html
http://blog.frd.mn/how-to-set-up-proper-startstop-services-ubuntu-debian-mac-windows/
http://manpages.ubuntu.com/manpages/hardy/es/man8/update-rc.d.8.html

No hay comentarios: