Forums:
Saludos,
Quiero iniciar un scrip cuando se prenda la maquina... Estuve leyendo aqui temas que trataban eso y lo que hice fue copiar el archivo a /etc/init.d y darle permisos de ejecucion... Pero no arranca. Cual puede ser otra opcion??? Estoy trabajando con Centos 4.4 en run level 3
Gracias
prueba ponerlo
prueba ponerlo en 3 y 5, tambien puedes probar poner el script en el boot.local
boot.local
./miscript
Denis Guido
Denis Guido
agrega una llamada al script
agrega una llamada al script dentro de /etc/rc.local que es el ultimo script que ejecuta tu linux en cualquier runlevel
Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884
Saludos
epe
EcuaLinux.com
+(593) 9 9924 6504
Servicios en Software Libre
Solo hay que tener en cuenta
Solo hay que tener en cuenta con un detallito... alguna vez para un proyecto en la universidad, escribimos un proxy en C. Como nos pidieron con instalador, agregué una línea que arrancaba mi ejecutable en el script /etc/rc.local y listo, solucionado el asunto. Fue hace algunos años en un redhat 8, y lastimosamente todos eramos bastante novatos.
El problema es que después de unos días el redhat no arrancaba, siempre se quedaba iniciando el servicio local y se atrancaba largo hasta pasar. Me acostumbré a arrancar en modo interactivo, para decir que no arranque ese servicio. Pregunté a muchos profesores de la U cuál es el servicio local y nadie me daba respuesta. Luego de estar tonteando un rato me dí cuenta que el servicio local era precisamente el /etc/rc.local y que el error era ocasionado por la línea que agregó mi instalador (que dicho de paso funcionó muy bien el momento de presentar el proyecto). Creo que me demoré un par de meses en dar solución (lo que me hubiera ahorrado buscando en internet en lugar de pasar el tiempo con los profes, jeje), como era la pc de mi casa no tenía apuro. :P
Ya que estamos hablando de modificar el /etc/rc.local me pareció oportuno compartir mi experiencia que a lo mejor ilumina el camino a alguien con un problema similar al que tuve.
Saludos.
Saludos,
antares
en este caso es porque el
en este caso es porque el programa que llamastes (tu programa en C) no estaba saliendo y poniendose en background el solito. Le agregas un & al final y ahi podría pasar... pero ahi el programa (tuyo) era el que había que ajustar,.
Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884
Saludos
epe
EcuaLinux.com
+(593) 9 9924 6504
Servicios en Software Libre
De hecho si se quería
De hecho si se quería hacerlo más elegante, en la programación debimos incluir la opción de correrlo como demonio, pero no lo hicimos.
Me olvide de comentar eso, gracias por acotarlo, al llamar al programa se lo debe enviar a background "a mano".
Lo que me llamó la atención es que inicialmente funcionó muy bien, luego de unas semanas se pudrió el arranque, por eso no lo asocie rápidamente con el pseudo proxy.
Luego de un tiempo entendí claramente por qué se dio el error, lo que no entiendo hasta ahora es por qué inicialmente funcionó sin pasarlo a background. :)
Saludos.
Saludos,
antares
Lo bonito de linux es que
Lo bonito de linux es que casi nunca hay misterios, todo tiene su explicación.
En tu caso... pueden haber varias razones super comunes:
1- el programa inicialmente fallaba, por eso seguía el script
2- RedHat 8 fue una porquería, total.. quizá algo le permitía seguir
3- Quizá nunca se apagó la máquina? Y por eso no lo notaron?
4- quizá le tenían mal puesto el camino de arranque.
Alguna cosilla así es, por lo demás en efecto, al inicio es duro comprender varias cosas.. hasta que te das cuenta de lo normal, común, sencillo que es todo no? jeje
Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884
Saludos
epe
EcuaLinux.com
+(593) 9 9924 6504
Servicios en Software Libre
la 2 polito, la 2
la 2 polito, la 2
:)
Saludos,
antares
Agrega en /etc/rc.local sh
Agrega en /etc/rc.local
sh /etc/init.d/script
Yo le que hago es agregar un
Yo le que hago es agregar un scritp en /etc/init.d/nombe_del_script, pero para esto debes hace un script que llame al principal, ejemplos bastantes didacticos los puedes encontrar en el mismo directorio mencionado, por ejemplo si es un firewall que necesitas ejecutar mira el ejemplo que esta en /etc/init.d/iptables, estudialo y has uno en base a este, luego que lo tengas hecho puedes hacer que tu script se ejecute como servicio como por ejemplo: service firewall start y para que corra en cualquier nivel usas chkconfig --level 2345 firewall on.
Te pongo como ejemplo mi script que esta en /etc/init.d el cual llama al firewall:
#!/bin/sh
#
# Firewall Script - Version 0.9.1
#
# chkconfig: 2345 09 99 ----------> (con esto debes tener cuidado ya que este es el # orden arranque)
# description: firewall script for Linux
# Set for testing
# set -x
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
IPTABLES="/sbin/iptables"
# See how we are called
case "$1" in
start)
# Start providing access
action "Starting firewall: " /etc/firewall/firewall.sh
echo
;;
stop)
action "Stoping firewall: "
echo 0 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z
echo
;;
restart)
action "Restarting firewall: "
$0 stop
$0 start
echo
;;
status)
# List out all settings
$IPTABLES -L
;;
test)
action "Test Mode firewall: "
$IPTABLES -nL
echo
;;
*)
echo "Usage: $0 {start|stop|restart|status|test}"
exit 1
esac
Saludos.
Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/
No se si funciona en Centos
No se si funciona en Centos pero en debian para avisar al sistema del nuevo inicio ejecuto esto
update-rc.d scriptEjecutable defaults
Páginas