Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » General » Software


Nuevo tema Responder al tema
 [ 14 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Mar Jul 09, 2013 1:20 pm
Mensajes: 67

Nota Publicado: Mar Jul 23, 2013 8:57 pm 
Arriba  
Buenas!

He creado un pequeño script que imprime la fecha y hora en un fichero, y quiero hacerlo como servicio. Es decir, que se ejecute a cada inicio.

Según he leído por ahí, hay 2 pasos básicos que hacer:

1. Meterlo en /etc/init.d/
2. Crear un enlace simbólico a éste en /etc/rc2.d/

He estado haciendo pruebas, y haciendo el paso 1 me sucede lo siguiente:

a. Se me ejecuta (no ha hecho falta hacer el paso 2 y no sé porqué)
b. Se me ejecuta 2 veces. Aparentemente al apagar y al iniciar.

a y b me desconciertan.

¿Me puede alguier echar una mano?

Gracias!


Última edición por banderas20 el Dom Jul 28, 2013 2:59 am, editado 1 vez en total
 Perfil  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Mar May 03, 2011 7:09 am
Mensajes: 1088

Nota Publicado: Mar Jul 23, 2013 9:48 pm 
Arriba  
mmmmmmmm
Y en que sistema, me imagino que en debian o derivados.
http://cristianolmos.blogspot.mx/2009/0 ... ue-de.html

_________________
Cuando mi maestro me reprendió, me dijo: Alejandro Magno a los 20 años conquistaba el mundo, Yo le conteste "si pero tenia de maestro a Aristóteles".
Twitter: @mcuentos

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Mar Jul 09, 2013 1:20 pm
Mensajes: 67

Nota Publicado: Mar Jul 23, 2013 10:40 pm 
Arriba  
cuentos escribió:
mmmmmmmm
Y en que sistema, me imagino que en debian o derivados.
http://cristianolmos.blogspot.mx/2009/0 ... ue-de.html


Justamente es un Debian, y justamente ese link es el que estaba usando como guía. Pero, aparte de los problemas que he mencionado, me da error la siguiente orden:

Código:
#sudo update-rc.d nombrescript


Me dice que está incompleto. Le añado al final defaults y se lo come, pero me da los problemas mencionados en mi post.

Gracias!

 Perfil  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Mar May 03, 2011 7:09 am
Mensajes: 1088

Nota Publicado: Mar Jul 23, 2013 10:44 pm 
Arriba  
En debian, no viene activado sudo por defecto.
Entras a la terminal de root, y ejecutas los comandos sin sudo.

_________________
Cuando mi maestro me reprendió, me dijo: Alejandro Magno a los 20 años conquistaba el mundo, Yo le conteste "si pero tenia de maestro a Aristóteles".
Twitter: @mcuentos

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Mar Jul 09, 2013 1:20 pm
Mensajes: 67

Nota Publicado: Mar Jul 23, 2013 10:58 pm 
Arriba  
cuentos escribió:
En debian, no viene activado sudo por defecto.
Entras a la terminal de root, y ejecutas los comandos sin sudo.


Ya, eso ya lo he hecho, y me tira para adelante. Pero tengo los problemas que pongo en el primer post.

Gracias.

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Lun Mar 29, 2010 4:45 pm
Mensajes: 73

Nota Publicado: Mar Jul 23, 2013 11:56 pm 
Arriba  
banderas20 escribió:
quiero hacerlo como servicio. Es decir, que se ejecute a cada inicio.

Un servicio es un proceso en segundo plano, que puede o no arrancar al inicio. De la misma forma, un proceso que se ejecuta al inicio no tiene que ser necesariamente un servicio.

Cuando se trata de ejecutar un script al inicio, hay varias formas (como siempre en esto de Linux, para gustos colores):

-Una es como lo estas haciendo, metiéndolo en init.d y demás, que tendría que funcionar.
-Otra, que para mi es bastante más sencilla e igual de útil en este caso, es llamar al script desde /etc/rc.local.

rc.local es un script que se ejecuta al arrancar el sistema, aunque por defecto no hace nada porque no contiene instrucciones. Podrías poner en el fichero la ruta completa al script (antes del 'exit 0'), y listo.

Por aquí hay un hilo sobre este mismo tema.

Editado -- 23 Jul 2013, 23:56 --

Edito: si se te ejecuta al apagar, probablemente sea porque tienes un enlace en /etc/rc0.d/ a tu script. Puedes borrarlo.

Saludos

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Dom Sep 16, 2007 7:00 am
Mensajes: 367

Nota Publicado: Mié Jul 24, 2013 3:52 am 
Arriba  
Hay otra forma, se trata de hacerlo mediante crontab
su
crontab -e
agregas
@reboot sleep 25 && bash ruta aĺ script

Si tines por ejemplo el editor gedit, te va a resultar mas cómodo poner
su
export EDITOR=gedit && crontab -e
@reboot sleep 25 && bash ruta aĺ script

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Mar Jul 09, 2013 1:20 pm
Mensajes: 67

Nota Publicado: Mié Jul 24, 2013 8:21 am 
Arriba  
Retranca, ¿cuál es el hilo que comentas? ¿Qué diferencia hay entre meterlo en rc2.d y rc.local?

Saludos y gracias a todos!

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Lun Mar 29, 2010 4:45 pm
Mensajes: 73

Nota Publicado: Mié Jul 24, 2013 10:07 pm 
Arriba  
EnriqueK escribió:
Hay otra forma, se trata de hacerlo mediante crontab
Como digo, para gustos colores. Y habrá más, imagino :)

banderas20 escribió:
Retranca, ¿cuál es el hilo que comentas? ¿Qué diferencia hay entre meterlo en rc2.d y rc.local?

Saludos y gracias a todos!
http://www.espaciolinux.com/foros/sistema/ejecutar-script-arranque-debian-t45615.html

En cuanto a las diferencias, pues... a mi entender, los rcX.d y el init.d están pensados para los servicios, y su funcionamiento es mas complejo, distinguiendo entre runlevels y demás. En cambio, el rc.local es simplemente un script que ejecuta instrucciones u otros scripts al arrancar el equipo, y además lo hace siempre al final, cuando termina de arrancar todo lo que está en el rc2.d (o el runlevel que sea), con lo que no te tienes que preocupar por las prioridades (los numeros del 00 al 99 del nombre del archivo).

Pero funcionar te va a funcionar de todas formas, así que tú eliges.

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Mar Jul 09, 2013 1:20 pm
Mensajes: 67

Nota Publicado: Jue Jul 25, 2013 7:13 am 
Arriba  
retranca escribió:
banderas20 escribió:
Retranca, ¿cuál es el hilo que comentas? ¿Qué diferencia hay entre meterlo en rc2.d y rc.local?

Saludos y gracias a todos!
http://www.espaciolinux.com/foros/sistema/ejecutar-script-arranque-debian-t45615.html

En cuanto a las diferencias, pues... a mi entender, los rcX.d y el init.d están pensados para los servicios, y su funcionamiento es mas complejo, distinguiendo entre runlevels y demás. En cambio, el rc.local es simplemente un script que ejecuta instrucciones u otros scripts al arrancar el equipo, y además lo hace siempre al final, cuando termina de arrancar todo lo que está en el rc2.d (o el runlevel que sea), con lo que no te tienes que preocupar por las prioridades (los numeros del 00 al 99 del nombre del archivo).

Pero funcionar te va a funcionar de todas formas, así que tú eliges.


Cojonudo! Eso me aclara muchas cosas.

Por cierto, algo leí de que depende donde pongas el script, éste se ejecuta al arrancar y al cerrar el sistema. ¿Te suena?

Muchísimas gracias!

 Perfil  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Jue Abr 19, 2007 7:00 am
Mensajes: 1519
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Jue Jul 25, 2013 3:40 pm 
Arriba  
banderas20 escribió:

Código:
#sudo update-rc.d nombrescript


Me dice que está incompleto. Le añado al final defaults y se lo come, pero me da los problemas mencionados en mi post.

Gracias!



Hola banderas, según tengo entendido, cuando lanzas update-rc.d nombrescript defaults se agregará en los runlevels por defecto (2,3,4,5) para inicio y se agregará el script para pararlo en los restantes runlevels. Es por eso que te aparecerá lo que hace el script al inicio y al final.

para ver la forma que mejor te convega podrías revisar esta página:

http://enavas.blogspot.com/2008/12/upda ... do-el.html

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Lun Mar 29, 2010 4:45 pm
Mensajes: 73

Nota Publicado: Jue Jul 25, 2013 8:16 pm 
Arriba  
En Linux, además de los runlevels multiusuario (2,3,4,5), contamos con el runlevel 0 (apagado), 1 (single user o monousuario) y 6 (reinicio). De hecho, una forma de apagar el equipo es con el comando init 0, y para reiniciar init 6.

Para cada runlevel, como has podido comprobar, existe un directorio rc (rc0.d,rc1.d,...). Por eso, si colocas un script en rc0.d, se ejecutará al apagar, y si lo colocas en rc6.d se ejecutará al reiniciar.

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Mar Jul 09, 2013 1:20 pm
Mensajes: 67

Nota Publicado: Sab Jul 27, 2013 1:13 pm 
Arriba  
Gracias por vuestra ayuda! Habéis sido muy claros. :wink:

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Lun Mar 29, 2010 4:45 pm
Mensajes: 73

Nota Publicado: Dom Jul 28, 2013 12:44 am 
Arriba  
No hay de que.
Ahora si consideras que tu duda ha sido aclarada, por favor edita el primer mensaje de este hilo y agrega al título [Solucionado].

Saludos

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 14 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
[solucionado] ejecutar script al arranque (debian)

[ Ir a página: 1, 2 ]

en Sistema

niky45

16

27305

Vie May 21, 2010 3:30 pm

niky45 Ver último mensaje

Ejecutar script en forma remota en segundo plano (Solucionado)

en Programación

carlosgim

4

2918

Mié Sep 22, 2010 1:45 am

carlosgim Ver último mensaje

Ejecutar script al inicio en SuSE

en Redes y Servidores

fredy_ruiz

2

1710

Vie Mar 19, 2010 11:55 pm

fredy_ruiz Ver último mensaje

Ejecutar script al apagar/reiniciar el Sistema

en Sistema

ricardo2099

2

811

Mar Jul 05, 2016 6:18 pm

ricardo2099 Ver último mensaje

[Solucionado] Volcar el el resultado de un script y pasarlo como argumento a otro script

en Programación

abarzuaf

5

1968

Jue Jun 13, 2013 11:54 pm

abarzuaf Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO