Problemas para ejectar script noip

Jesus Aneiros Sosa aneiros en finf.ucf.edu.cu
Mar Ago 9 06:35:30 CLT 2005


On Tue, 9 Aug 2005, Eduardo Villagrán M wrote:

> Hola lista:
>                 Tengo un pequeño problema para hacer que se ejecute al 
> bootear el script de noip.
> ##########################################
>     #! /bin/sh
>     # . /etc/rc.d/init.d/functions    # uncomment/modify for your killproc
>     case "$1" in
>         start)
>         echo "Starting noip2."
>         /usr/local/bin/noip2
>         ;;
>         stop)
>         echo -n "Shutting down noip2."
>         killproc -TERM /usr/local/bin/noip2
>         ;;
>         *)
>         echo "Usage: $0 {start|stop}"
>         exit 1
>     esac
>     exit 0
> #################################################
> 
> luego coloco el script de arriba en /etc/rc5.d, le doy permisos 700 al 
> /usr/local/bin/noip2. Pero al bootear nuevamente no se ejecuta.
> Si alguien puede guiarme sobre como hacer que se se ejecute un script en 
> general al bootear estaré agradecido.

Si lo que quieres es que el script se ejecute siempre al inicio entonces 
solo tienes que llamarlo desde /etc/rc.d/rc.local.

Ahora si lo que quieres es manejarlo con los runlevels entonces la tarea
no es tan facil. Para el inicio/apagado de los servicios Linux se adhiere
al esquema de SysV. No dices que distro usas pero creo que por el
encabezado de tu mensaje tienes FC3. En esta distro tienes que colocar el
script en /etc/init.d (que en realidad es una enlace simbolico a
/etc/rc.d/init.d para cumplir con FSSTND) y despues especificar que
quieres que pase con ese servicio en cada uno de los runlevels mediante
los directorios /etc/rc{0,1,2,3,4,5,6}.d En esos directorios lo que hay 
son enlaces simbolicos a los scripts en /etc/init.d y esos enlaces tienen 
que tener una forma de llamarse comenzando por S o K para decir como 
estara el servicio en el runlevel determinado (iniciado o parado) y numero 
de dos digitos para indicar el orden de inicio (evidentemente hay 
servicios que dependen de otros) y finalmente el nombre.

Para manejar lo anterior en sistemas a los RH (gracias Erik Troan) se 
tiene un comando como chkconfig que te permite agregar, eliminar, 
inspeccionar y cambiar estado de los servicios en cada runlevel. La mala 
noticia es que tu script no califica para ser manejado por chkconfig. Al 
inicio agregale dos linea de comentarios al estilo de:

# chkconfig: 235 11 89
# description: Este servicio permite ...
  
La primera especifica los runleveles y el numero de dos digitos para el 
enlace simbolico. Especificalos de acuerdo a lo que tu quieres hacer

Despues ejecutas chkconfig --add noip 

Echale un vistazo a chkconfig(8) para que aprendas mas acerca de 
chkconfig. Te recomiendo tambien un vistazo a lo que hay en /etc/init.d 
para ejemplos y init(8).

--
Jesus Aneiros Sosa
GNU/Linux User #190716
perl -e '$_=pack(c5,0105,0107,0123,0132,(1<<3)+2);y[A-Z][N-ZA-M];print;'


Participe en el V Congreso Internacional de Educacion Superior
"Universidad 2006". La Habana , Cuba, del 13 al 17 de febrero del 2006
http://www.universidad2006.cu/



Más información sobre la lista de distribución Linux