cron cronograma de trabajo

8

Me gustaría comenzar el trabajo cron a las 9:30 y luego trabajar cada 5 minutos y luego parar a las 16:30 todos los días. ¿Es posible este tipo de programación en uno o necesito dos trabajos cron?

mustafa
fuente

Respuestas:

10

Creo que algo en la línea de:

30/5 9-16 * * *  /usr/bin/script_to_run.sh

Consulte la página wiki para obtener detalles sobre la sintaxis de sincronización. Sugiero probar esto con un script que registra el tiempo que se ejecuta en un archivo.

#!/bin/bash

echo "Cron ran at: " `date` >> /var/log/crontimetest.log
Webtoe
fuente
2
Me sorprendió ver que se usaba "30/5", así que miré el código fuente cron, específicamente entry.c, que analiza cada línea de un crontab. en la función get_range (), verifica si el carácter después del primer número (30 en este ejemplo) es un '-' o no. si no es así, nunca se ve el '/'. esto es un error; debería haber impreso una advertencia (o un mensaje de error) del formulario, "'/' solo tiene sentido después de un rango * o nm". ¡lo siento amigos!
Paul Vixie
7

Necesitarás tres entradas crontab:

30-55/5 9 * * * /usr/bin/script-to-run.sh
*/5 10-15 * * * /usr/bin/script-to-run.sh
0-30/5 16 * * * /usr/bin/script-to-run.sh

no culpe a linux, o bsd, o a mí, por la sintaxis extraña e inútil de las entradas de crontab. esto fue inventado en AT&T Bell Labs, y luego estandarizado como parte de POSIX.

Paul Vixie
fuente
4

Creo que necesitas tres trabajos:

 */5 10-15 * * * yourjob
 0,5,10,15,20,25,30 16 * * * yourjob
 30,35,40,45,50,55 9 * * * yourjob
Sven
fuente