Foros del Web » Administración de Sistemas » Unix / Linux »

[SOLUCIONADO] CentOS inicio de script con el arranque.

Estas en el tema de CentOS inicio de script con el arranque. en el foro de Unix / Linux en Foros del Web. Sistema: CentOS 6.7 Final Minimal 32bits. Hola a todos, saludos, miren estoy necesitando iniciar un script con el arranque del sistema pero necesito que se ...
  #1 (permalink)  
Antiguo 12/10/2016, 18:34
Avatar de luzzifer  
Fecha de Ingreso: julio-2009
Ubicación: Paraná - Argentina
Mensajes: 169
Antigüedad: 14 años, 9 meses
Puntos: 3
Pregunta CentOS inicio de script con el arranque.

Sistema: CentOS 6.7 Final Minimal 32bits.
Hola a todos, saludos, miren estoy necesitando iniciar un script con el arranque del sistema pero necesito que se ejecute ultimo de todos los procesos del arranque.

El script en cuestión es:
Código BASH:
Ver original
  1. #!/bin/sh
  2. #FreeDNS updater script
  3.  
  4. UPDATEURL="http://freedns.afraid.org/dynamic/update.php?_YOURAPIKEYHERE_"
  5. DOMAIN="_YOURDOMAINHERE_"
  6.  
  7. registered=$(nslookup $DOMAIN|tail -n2|grep A|sed s/[^0-9.]//g)
  8.  
  9.   current=$(wget -q -O - http://checkip.dyndns.org|sed s/[^0-9.]//g)
  10.        [ "$current" != "$registered" ] && {                          
  11.           wget -q -O /dev/null $UPDATEURL
  12.           echo "DNS updated on:"; date
  13.   }
Explicación es un scrip que actualiza mi ip dinamica en un servidor de DNS.
La idea es que al iniciar el sistema se ejecute de manera automatica y actualize la ip en el servidor.

La idea tambien es hacer que ese script se ejecute cada 30 minutos. Pero no tengo ni la menor idea de como realizarlo. Me pueden ayudar?

Para que se ejecute en el inicio del sistema tengo la siguiente idea.
Hemos de crear un enlace simbólico en el runlevel correspondiente para que se ejecute cada vez que arranquemos la máquina.
Código TERMINAL:
Ver original
  1. ln -s  /etc/init.d/mi_script /etc/rc3.d/S98miscript
Lo que hacemos es crear un enlace simbólico cuya primera letra es la S (de Start, K sería de kill) y el nº98 (define el momento en el que se va a ejecutar, a menor número, antes se ejecuta). Veréis que el enlace simbólico lo creo en el runlevel 3 (Multiusuario con soporte de red) <<< Esto pertenece a la fuente Click Aqui!!
  #2 (permalink)  
Antiguo 12/10/2016, 23:17
 
Fecha de Ingreso: octubre-2011
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: CentOS inicio de script con el arranque.

Abre un terminal del usario que va a ejecutar el script , por ejemplo puede ser tu usuario o el usuario root y seguidamente ejcuta

export EDITOR=gedit && crontab -e

Por única vez pega en ese archivo las siguientes lineas
Código BASH:
Ver original
  1. SHELL=/bin/sh
  2. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Para que el script corra al inicio con 20 seg de retardo agrega la siguiente linea
Código BASH:
Ver original
  1. @reboot sleep 20 && DISPLAY=:0  gnome-terminal -x bash /ruta/script

para que ejeute cada 30 minutos, agrega la siguie linea
Código BASH:
Ver original
  1. */30 * * * * DISPLAY=:0  gnome-terminal -x bash /ruta/script

Última edición por EnriqueK; 13/10/2016 a las 03:36
  #3 (permalink)  
Antiguo 13/10/2016, 16:46
Avatar de luzzifer  
Fecha de Ingreso: julio-2009
Ubicación: Paraná - Argentina
Mensajes: 169
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: CentOS inicio de script con el arranque.

Hola EnriqueK Gracias por la ayuda.

Me perdí un Poco vamos por paso te repito y tu me dices si voy bien:
1° Paso en la terminal escribo: Le cambie gedit por nano
Código Terminal:
Ver original
  1. export EDITOR=nano && crontab -e
2° Paso: Este codigo donde lo pego? en que archivo en el del 1°Paso?
Código BASH:
Ver original
  1. SHELL=/bin/sh
  2.     PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
3° Paso: Este es para el inicio retardado pero tengo dudas este lo ejecuto desde la terminal? y la otra por que dice gnome-terminal??? siendo que tengo CentOS 6
Código BASH:
Ver original
  1. @reboot sleep 20 && DISPLAY=:0  gnome-terminal -x bash /ruta/script
4° Paso: Esta linea iria por terminal o lo agrego ultimo renglon en mi script?
Código BASH:
Ver original
  1. */30 * * * * DISPLAY=:0  gnome-terminal -x bash /ruta/script

Te pido mil perdón por las dudas que te plantee pero es que quiero estar claro de lo que voy a hacer estoy re-contra agradecido por la info que me pasaste.
Te deje un punto de agradecimiento.
  #4 (permalink)  
Antiguo 13/10/2016, 18:31
 
Fecha de Ingreso: octubre-2011
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: CentOS inicio de script con el arranque.

Las líneas
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
tienen que estar al comienzo del archivo del crontab, esto es para permitr que crontab reconozca al PATH
Parto del supuesto de que Centos 6x viene por defecto con entorno gráfico y que no es otro que el Gnome2, por lo que cuenta con gedit, gnome-terminal, etc
Tambien puedes dejar las entradas del contab así
Código BASH:
Ver original
  1. @reboot sleep 20 &&  bash /ruta/absoluta/al/script
  2. */30 * * * * bash /ruta/absoluta/al/script

Pero la ejecución de estos scripts no serán visibles
  #5 (permalink)  
Antiguo 14/10/2016, 17:40
Avatar de luzzifer  
Fecha de Ingreso: julio-2009
Ubicación: Paraná - Argentina
Mensajes: 169
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: CentOS inicio de script con el arranque.

Gracias por la ayuda EnriqueK, el CentOS que tengo no tiene interfaz grafica es solo consola, no tengo instalado gedit por que solo funciona con gnome, como quedaria entonces el codigo?

Reemplazo gedit por nano, y algo mas debo cambiar?
  #6 (permalink)  
Antiguo 14/10/2016, 18:25
 
Fecha de Ingreso: octubre-2011
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: CentOS inicio de script con el arranque.

nada mas, salvo qje ejecutes
crontab - e
en este caso el editor será por defecto vi o vim , el cual es mas complejo de usar, por eso es preferible usar nano

Etiquetas: centos, dns, inicio, servidor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:01.