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

Ejecutar shell desde crontab

Estas en el tema de Ejecutar shell desde crontab en el foro de Unix / Linux en Foros del Web. Hola Tengo un shell "prueba.sh" el cual ejecuto desde consola y funciona perfectamente con el comando: sh /usr/Scripts/prueba.sh el problema es cuando lo quiero ejecutar ...
  #1 (permalink)  
Antiguo 31/05/2011, 15:52
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Ejecutar shell desde crontab

Hola
Tengo un shell "prueba.sh" el cual ejecuto desde consola y funciona perfectamente con el comando:

sh /usr/Scripts/prueba.sh

el problema es cuando lo quiero ejecutar desde un crontab ya que no hace absolutamente nada
el crontab es el siguiente:

* * * * * sh /usr/Scripts/prueba.sh

no se que estoy haciendo mal o porque no funciona.

dentro del shell mando llamar una aplicación .jar el shell contiene lo siguente:

cd /usr/Aplicacion
java -jar /usr/Aplicacion/dist/moduloUno.jar


ojala y me puedan ayudar y de antemano agradezco la atencion y su ayuda
  #2 (permalink)  
Antiguo 31/05/2011, 22:29
rqd
 
Fecha de Ingreso: julio-2008
Mensajes: 228
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Ejecutar shell desde crontab

dirige la salida a un archivo de log, por ejemplo


* * * * * sh /usr/Scripts/prueba.sh > /usr/Scripts/prueba.log

una posible falla es que no estén cargadas las variables de ambiente que requiere java para ejecutarse, además de que debes ponerle el momento de ejecución, no sólo los *
  #3 (permalink)  
Antiguo 01/06/2011, 08:30
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ejecutar shell desde crontab

Gracias por tu repuesta

En el .log no me muestra nada, voy a revisar las variables de entorno a ver si esta ahi la solucion ya que si tienes algun shell efectivo para las variables de entorno te lo agradeceria.

y nuevamente gracias por tu respuesta, seguire trabajando en esto.
  #4 (permalink)  
Antiguo 01/06/2011, 15:22
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
De acuerdo Respuesta: Ejecutar shell desde crontab

Bueno ya lo he solucionado a medias y dejo la solucion por si a alguien le pasa lo mismo.

en mi shell es necesario que agregue la linea:
DISPLAY=:0.0

digo que lo resolvi a medias porque esto funciona utilizando los crontab de mi usuario mas no del root.

seguire investigando acerca de esto para aportar la solucion completa.
  #5 (permalink)  
Antiguo 01/06/2011, 19:03
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejecutar shell desde crontab

Lo raro es que deberías tener correo en el sistema (ejecuta "mail" desde la consola) que te indique cuál es el error. Cron envía un correo al usuario en caso de errores.

¿Estás ejecutando con cron un programa que requiere entorno gráfico? Eso sí que se me hace raro... En fin, para saber cuál es el error real simplemente ejecuta "mail" con tu usuario, deberías ver los registros de error del cron.
  #6 (permalink)  
Antiguo 02/06/2011, 08:39
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ejecutar shell desde crontab

el cron lo utilizo para mandar llamar el shell, el cual me ejecuta una plicacion java con entorno grafico.

ahora el detalle es que si pongo el cron en los crons de root no funciona y si lo pongo en los crons de mi usuario funciona perfectamente.

aplicare lo del mail para ver algun posible error aunque el archivo .log que genere al principio tambien funciona.

Etiquetas: crontab, shell, sistemas-unix
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:17.