Ejecutando scripts al inicio de Linux

Para hacer que un script se ejecute al inicio de Linux basta con crear dicho script dentro del directorio /etc/init..

Conviene respetar ciertas convenciones dado que Debian agregó  dependencias a la secuencia de booteo (dependency based boot sequencing), por lo cual deberemos especificar algunos datos al comienzo del archivo para que no nos muestre el siguiente error al querer insertar dicho script al arranque:

update-rc.d: using dependency based boot sequencing
insserv: warning: script ‘demonio’ missing LSB tags and overrides

El truco consiste en agregar unos LBS tags en el script

#!/bin/sh
### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

##VARIABLES y CONSTANTES
RETVAL=0

start() {
  return $RETVAL
}

stop() {
  return $RETVAL
}

restart() {
   stop
   start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    echo "Estado:"
	;;
  restart)
    restart
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart}"
    RETVAL=2
esac

exit $RETVAL

Una vez creado podemos agregar el servicio haciendo

En Debian anterior a 6.0: update-rc.d demonio defaults

En Debian 6.0 en adelante: insserv demonio

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s