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

problema con Cronjob y Bash command

Estas en el tema de problema con Cronjob y Bash command en el foro de Unix / Linux en Foros del Web. Veran tengo un archivo llamado run.sh guardado en mi Directorio de bin (osea /bin/run.sh) este archivo tiene un comando de bash que llama un programa ...
  #1 (permalink)  
Antiguo 16/08/2006, 18:41
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
Pregunta problema con Cronjob y Bash command

Veran tengo un archivo llamado run.sh guardado en mi Directorio de bin (osea /bin/run.sh)
este archivo tiene un comando de bash que llama un programa (ya e comprobado que si lo llama).

Este es el CronJob que utilizo:
55 12 * * * root /bin/run.sh
este ejecuta como root mi archivo que contiene el comando a las 12:55 todos los dias

Los comandos (como root) que utilizo para esto son :
crontab -e
Se abre Vi e ingreso el cronjob
Crontab -l
El Cronjob se visualiza correctamente

Despues reviso que la hora sea la correcta

Pero no funciona, el cronjob no corre el programa y ni siquiera me envia el mail .
Me podrian ayudar por favor.

Gracias
  #2 (permalink)  
Antiguo 17/08/2006, 06:48
Avatar de Tk421  
Fecha de Ingreso: agosto-2001
Ubicación: Australia
Mensajes: 384
Antigüedad: 22 años, 7 meses
Puntos: 0
Cuando crontab falla envia un email con la salida.

Puedes verlo con el comando "mail" o "mutt" (si los tienes instalados)

Otra cosa que puedes hacer es decirle al sistema que te envie un email con la salida, poniendo como primera linea del contrab

[email protected]

Intuitivamente, creo que deberia hacer los siguiente.

Como root, ejecuta:
chmod 755 /bin/run.sh

y en el crontab del root, en vez de
55 12 * * * root /bin/run.sh

pones
55 12 * * * /bin/run.sh

Otra cosa que suele fallar es que le debes poner el path completo (si corresponde) a todos los binarios dentro del arhivo run.sh.

Es decir, que si en el archivo llamas a "ls" en vez de "ls" pones "/bin/ls" (la ruta completa te lo dira el comando whereis, por ejemplo "whereis ls"

Espero que te ayude,
Un saludo,
__________________
Tk421
Configuration management for Linux
  #3 (permalink)  
Antiguo 17/08/2006, 14:44
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
Bueno cuando realize los cambios me envio un correo el cual me decia que tenia un problema en un ruta (la arregle) ... modifique el CronJob y cambie la hora para que se volviera a ejecutar pero no corrio lo que quiero. .....

El comando que ejecuto corre un .Jar que levanta un Browser y note que el mail me envio que cuando se prepara el profile del browser (en este caso firefox) un error:
(firefox-bin:13614): Gtk-WARNING **: cannot open display:

Es acaso que por ser llamado por un CronJob no puede levantar el Browser??

Y como lo dije antes si ejecuto en consola el comando que esta en el archivo de Bash directamente si funciona

Gracias

Última edición por Yashiro; 17/08/2006 a las 14:53
  #4 (permalink)  
Antiguo 17/08/2006, 15:24
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 11 meses
Puntos: 35
No puedes iniciar una aplicación gráfica desde cron. Al menos, no en la forma en que lo estás tratando de hacer.

¿No puedes usar un browser en modo texto, como Lyx o Lynx? ¿No puedes usar otra aplicación, como wget o curl? ¿Qué es exactamente lo que quieres hacer?
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 17/08/2006, 16:20
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
Lo que petendo es correr un Test (con Selenium) utilizando una llamada a selenium el cual levanta en un browser que yo espesifico (no soporta ni Lyx o Lynx) un TestRunner con el que por medio de unos comandos hace lo que le indico (en mi caso habro una pagina y trabajo con ella).

Se que el comando me funciona desde consola porque desde ahi lo utilizo, por eso cree el archivo llamado run.sh que es el comado que utilizo.

Tambien cuando en consola pongo la ruta del archivo se ejecuta bien (digase /bin/run.sh)

Entonces con el Cronjob ( 55 12 * * * /bin/run.sh ) lo que pretendo es correr el comando que estoy utilizando

Pero me envia el error de firefox
  #6 (permalink)  
Antiguo 17/08/2006, 18:01
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 11 meses
Puntos: 35
Si realmente quieres ejecutar aplicaciones gráficas en cron, tienes que especificar la variable DISPLAY. Lee esto.

Pero sigue sin gustarme ese método. ¿Qué pasa si precisamente a esa hora no está corriendo el servidor X? ¿O si no hay ningún usuario logueado? En fin, creo que debe haber mejores formas de hacer lo que necesitas, sin tener que usar cron.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #7 (permalink)  
Antiguo 18/08/2006, 11:13
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
mmm mejores formas de correr mi test de Selenium programado sin usar un Cron ..... suena interezante ...... pero que aplicaciones o funciones me permitirian el hacer esto?
  #8 (permalink)  
Antiguo 18/08/2006, 14:25
Avatar de Tk421  
Fecha de Ingreso: agosto-2001
Ubicación: Australia
Mensajes: 384
Antigüedad: 22 años, 7 meses
Puntos: 0
Tienes la respuesta en los Foros de la pagina oficial
__________________
Tk421
Configuration management for Linux
  #9 (permalink)  
Antiguo 23/08/2006, 10:46
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
Tengo que realizar las pruebas .... ademas de que encontre esto que esta muuy curiosos :
http://en.wikipedia.org/wiki/Xvfb
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 00:51.