¿Cómo conseguiría un trabajo cron cada 30 minutos?


Estoy buscando agregar una entrada crontab para ejecutar un script cada 30 minutos, en la hora y 30 minutos después de la hora o algo cercano. Tengo lo siguiente, pero no parece funcionar en 0.

*/30 * * * *

¿Qué cadena necesito usar?

El cron se está ejecutando en OSX.

Author: Darryl Hein, 2009-02-25

6 answers

Do:

0,30 * * * * your_command
 440
Author: vladr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-27 13:45:48

Prueba esto:

0,30 * * * * your command goes here

De acuerdo con la página de manual oficial de Mac OS X crontab(5) , se admite la sintaxis /. Por lo tanto, para averiguar por qué no estaba funcionando para usted, tendrá que mirar los registros de cron. En esos registros, debería encontrar un mensaje de error claro.

Nota: Mac OS X parece usar Vixie Cron, lo mismo que Linux y los BSD.

 70
Author: Eddie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-25 06:01:38

Crontab no entiende "intervalos", solo entiende "horario"

Horas válidas: 0-23 minutes minutos válidos: 0-59

Ejemplo #1

30 * * * * your_command

Esto significa " ejecutar cuando el minuto de cada hora es 30 " (se ejecutaría en: 1:30, 2:30, 3:30, etc)

Ejemplo #2

*/30 * * * * your_command

Esto significa " ejecutar cuando el minuto de cada hora es uniformemente divisible por 30" (se ejecutaría en: 1:30, 2:00, 2:30, 3:00, etc)

Ejemplo #3

0,30 * * * * your_command

Esto significa " ejecutar cuando el minuto de cada hora es 0 o 30 " (se ejecutaría en: 1:30, 2:00, 2:30, 3:00, etc)

es otra forma de lograr los mismos resultados que el ejemplo #2

Ejemplo #4

19 * * * * your_command

Esto significa " ejecutar cuando el minuto de cada hora es 19 " (se ejecutaría en: 1:19, 2:19, 3:19, etc)

Ejemplo #5

*/19 * * * * your_command

Esto significa " correr cuando el minuto de cada hora es uniformemente divisible por 19" (correría en: 1:19, 1:38, 1:57, 2:19, 2:38, 2:57 etc)

nota: se han realizado varias mejoras a este post por varios usuarios, incluido el autor

 60
Author: aequalsb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-24 15:28:11

Si su trabajo cron se está ejecutando solo en Mac OS X, es posible que desee usar launchd en su lugar.

Desde Programación de Trabajos temporizados (documentos oficiales de Apple):

Nota: Aunque todavía es compatible, cron no es una solución recomendada. Ha sido obsoleto a favor de launchd.

Puede encontrar información adicional (como la página de Wikipedia launchd) con una simple búsqueda en la web.

 9
Author: PCheese,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-29 20:06:43

Mencionas que estás usando OS X - He usado cronnix en el pasado. No es tan friki como editarlo tú mismo, pero me ayudó a aprender cuáles son las columnas en un santiamén. Sólo una idea.

 5
Author: Allyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-17 20:30:17

Se puede utilizar tanto de ',' O dividir '/' símbolos.
Pero, '/' es mejor.
Supongamos el caso de 'cada 5 minutos. Si usa ',', tienes que escribir el trabajo cron de la siguiente manera:

0,5,10,15,20,25,30,35,....    *      *     *   * your_command

Significa ejecutar your_command en cada hora en todos los minutos definidos: 0,5,10,...

Sin embargo, si usa'/', puede escribir el siguiente trabajo simple y corto:

*/5  *  *  *  *  your_command

Significa ejecutar your_command en los minutos que son divisible por 5 o en las palabras más simples, ' 0,5,10,...'

Por lo tanto, el símbolo divisible '/' es la mejor opción siempre;

 1
Author: Mohsen Abasi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-19 06:18:28