Cómo ejecutar el trabajo crontab todas las semanas los domingos


263

Estoy tratando de descubrir cómo ejecutar un trabajo crontab todas las semanas los domingos. Creo que lo siguiente debería funcionar, pero no estoy seguro si entiendo correctamente. ¿Es correcto lo siguiente?

5 8 * * 6

77
La pregunta es sobre 'domingo' pero la respuesta aceptada es sobre 'sábado'. ¿?
inigomedina

11
Use el sitio https://crontab.guru/ para crear cualquier expresión cron.
nbi

Respuestas:


481

Aquí hay una explicación del formato crontab.

# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x

De acuerdo con esto 5 8 * * 0, correría a las 8:05 cada domingo.


148
Para ser más legible, puede usar uno del sun, mon, tue, wed, thu, fri, or satdía. Esto también le ahorra tener que elegir entre usar 0o 7para el domingo.
gripe

193

Para ejecutar un cron el domingo, puede usar cualquiera de estos:

5 8 * * 0
5 8 * * 7
5 8 * * Sun

Dónde 5 8 encuentra la hora del día en que esto sucederá: 8:05.

En general, si desea ejecutar algo el domingo, asegúrese de que la quinta columna contenga cualquiera de 0, 7o Sun. Tenías 6, así que estaba funcionando el sábado.

El formato para cronjobs es:

 +---------------- minute (0 - 59)
 |  +------------- hour (0 - 23)
 |  |  +---------- day of month (1 - 31)
 |  |  |  +------- month (1 - 12)
 |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
 |  |  |  |  |
 *  *  *  *  *  command to be executed

Siempre puede usar crontab.guru como editor para verificar sus expresiones cron.


14
¡Solo para ayudar a otros a evitar el tonto error que acabo de cometer, y asegúrese de configurar el minuto en algo diferente a * o se ejecutará cada minuto de esa hora!
user2924019

40

El siguiente es el formato del archivo crontab.

{minuto} {hora} {día del mes} {mes} {día de la semana} {usuario} {path-to-shell-script}

Entonces, para ejecutar cada domingo a la medianoche (el domingo suele ser 0, 7 en algunos casos raros):

0 0 * * 0 root /path_to_command

1
Votar para mencionar cómo especificar el comando para ejecutar cada vez. (Sin embargo, la columna de usuario debe omitirse al editar mediante el comando "crontab").
Joachim Wagner

1
El domingo a medianoche es la 0 hora del lunes, es decir 0 0 * * 1.
Fred Loney

5

Cuando especifique sus valores cron, deberá asegurarse de que sus valores se encuentren dentro de los rangos. Por ejemplo, algunos cron usan un rango de 0-7 para el día de la semana donde tanto 0 como 7 representan el domingo. No lo hacemos (verifique a continuación).

Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6

referencia: https://github.com/ncb000gt/node-cron


3
"Somos nosotros los que ? ¿Qué programa y versión?
Massimo

Es directamente desde el enlace: D
Mendon Ashwini

2

Cron la expresión de trabajo de una manera legible humana constructor crontab


1
En mi opinión, esta no es una respuesta, ya que no agrega nada aquí, ni responde la pregunta aquí de ninguna manera.
Pankaj


0

10 * * * Sol

Position 1 for minutes, allowed values are 1-60
position 2 for hours, allowed values are 1-24
position 3 for day of month ,allowed values are 1-31
position 4 for month ,allowed values are 1-12 
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday. 

2
¡Felicitaciones por su primera respuesta en StackOverflow! Asegúrese de consultar la Guía de respuestas . Por ejemplo, la respuesta normalmente debería tener información nueva que falta en las respuestas existentes.
doz10us

77
esto funcionará 24 veces el domingo, 10 minutos después de la hora cada hora.
Jens Timmerman


0
* * * * 0 

you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :

* * * * *  Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.