4 votos

larga duración de cron no correo ' s salida

Tengo un trabajo cron para ejecutar un script que toma alrededor de 6 horas para terminar. El problema es que cron no es enviarme el resultado de ese trabajo, y me gustaría.

Yo lo tengo en /etc/crontab y es algo como:

0 *    * * *   myuser    /usr/local/bin/my-script

Sí, esta carrera es cada hora, pero hay un bloqueo en el archivo de secuencia de comandos, por lo que si la ejecución anterior no pudo terminar, la nueva ejecución de la secuencia de comandos que se cierre inmediatamente sin hacer nada.

El sistema es Debian 5.0 'lenny', y el MTA Postfix.

Si el trabajo es asesinado (con "matar a $PID") temprano durante su ejecución, luego me pongo un e-mail con la salida del trabajo. También si puedo modificar el script para hacer 10 veces menos cosas, entonces yo también recibe un e-mail. Su sólo si la secuencia de comandos se ejecuta durante algunas horas no me llega un e-mail a todos.

Líneas relevantes de ps afx un corto período de tiempo después de que el cron job comienza:

 8222 ?        Ss     0:04 /usr/sbin/cron
13265 ?        S      0:00  \_ /USR/SBIN/CRON
13297 ?        Ss     0:00      \_ /bin/bash /usr/local/bin/my-script
13395 ?        S      0:16      |   \_ /usr/bin/python /usr/local/bin/some-script.py
17065 ?        S      0:00      \_ /usr/sbin/sendmail -i -FCronDaemon -oem myuser
17066 ?        S      0:00          \_ /usr/sbin/postdrop -r

Así que parece que el MTA es llamado cuando el cron job empieza, no cuando termina. Puede que estar relacionados con el problema? Podría ser posible que Postfix no le gusta postdrop ejecución de tanto tiempo, y tiempos-o algo así? ¿Cómo puedo solucionar el problema - tengo que tener la salida por correo electrónico a mí.

2voto

Paweł Brodacki Puntos 4635

Como una solución: redirigir la salida a un archivo y enviarlo por correo desde el interior de su script cron?

Como una herramienta de depuración: ejecución de cron una serie de scripts que acaba de imprimir una fecha, escriba su nombre, la intención de longitud de sueño, el sueño de n minutos, impresión de fecha y, a continuación, dejar de fumar. Yo iría a todos ellos al mismo tiempo, tener respuesta en 7 horas. Si usted tiene una prueba de sueño de los tiempos de duración de 1h a 7 horas con, digamos, 10 minutos de incremento, podrás saber si es un general, el problema de tiempo de espera, o algo para hacer con el script.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: