CronDrive

Cron todos los lunes

0 0 * * 1

Cambia la zona horaria para ver cuándo corre en tu servidor.

Allá son las 19:57 (UTC+00:00).

¿Qué zona horaria elijo?

La zona horaria del servidor donde corre el crontab, que puede no ser la tuya. Para verla, ejecuta esto en el servidor:

timedatectl | grep "Time zone"

Si el crontab define CRON_TZ, elige esa.

A las 00:00 los lunes

0 minuto
0 hora
* día
* mes
1 día de la semana

Próximas ejecuciones (UTC)

  1. lun 19 oct, 00:00
  2. lun 26 oct, 00:00
  3. lun 2 nov, 00:00
  4. lun 9 nov, 00:00
  5. lun 16 nov, 00:00
  6. lun 23 nov, 00:00
  7. lun 30 nov, 00:00
  8. lun 7 dic, 00:00
  9. lun 14 dic, 00:00
  10. lun 21 dic, 00:00

Entérate cuando no corra

CronDrive te avisa por email, o en Slack, cuando un job con este horario falla, o no parte o no termina a tiempo. Gratis hasta 15 jobs.

Lo que verías con este horario

Un ejemplo con las últimas ejecuciones de este horario y resultados inventados: una falló y otra no corrió.

Horas en UTC.

Hora
lun 5 oct, 00:00 A tiempo Partió 00:00, terminó 00:13, duró 13 min.
lun 28 sept, 00:00 No corrió Alertas enviadas a las 00:05 y 00:30.
lun 21 sept, 00:00 A tiempo Partió 00:00, terminó 00:14, duró 14 min.
lun 14 sept, 00:00 Falló con código 1 Alerta enviada a las 00:04. Partió 00:00, terminó 00:04, duró 4 min.
lun 7 sept, 00:00 A tiempo Partió 00:00, terminó 00:13, duró 13 min.
lun 31 ago, 00:00 A tiempo Partió 00:00, terminó 00:14, duró 14 min.

La alerta de la ejecución que falló

Email de CronDrive, lun 14 sept, 00:04

Falló (código 1): "Tu job"

El job "Tu job" falló con el código de salida 1.

Si conectas Slack, el mismo mensaje llega a tu canal.

El cambio en tu crontab

0 0 * * 1 curl -fsS -m 10 https://job.crondrive.com/uG2Exw/start/$$; /path/to/job.sh; curl -fsS -m 10 https://job.crondrive.com/uG2Exw/end/$?/$$

Dos llamadas alrededor de tu comando, en la misma línea. La línea de tu job trae su propio token.

Monitorear este horario

Formato

Cron se maneja con un archivo crontab (tabla de cron), un archivo de configuración que indica qué comandos correr periódicamente y con qué horario. En Linux puedes ejecutar crontab -e para editarlo.

Cada línea tiene una expresión cron de cinco campos, seguida del comando a ejecutar. Un * significa todos los valores; 1,5 es una lista, 1-5 un rango y */5 un paso.

* minuto 0-59
* hora 0-23
* día 1-31
* mes 1-12
* día de la semana 0-6, el domingo es 0

Ejemplos

Expresión Descripción
* * * * * Cada minuto
*/5 * * * * Cada 5 minutos
*/10 * * * * Cada 10 minutos
*/15 * * * * Cada 15 minutos
*/30 * * * * Cada 30 minutos
0 * * * * Cada hora
0 */2 * * * Cada 2 horas
0 */6 * * * Cada 6 horas
0 */12 * * * Cada 12 horas
0 0 * * * Todos los días a las 00:00
0 8 * * 1-5 A las 08:00 de lunes a viernes
0 0 * * 1 A las 00:00 los lunes
0 0 * * 0 A las 00:00 los domingos
0 0 1 * * A las 00:00 el día 1 de cada mes
0 */8 * * * Cada 8 horas
1,5 * * * * En los minutos 1 y 5 de cada hora
1-5 * * * * En los minutos 1 a 5 de cada hora
0 2 * * * Todos los días a las 02:00
0 1 * * 1,2 A las 01:00 los lunes y los martes
30 9-17 * * 1-5 Cada hora de 09:30 a 17:30 de lunes a viernes
0 0 */5 * * A las 00:00 cada 5 días