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?
# 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.
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.
¡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):
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
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.
¡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
@ semanal funciona mejor para mí!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM
@weekly /root/fd/databasebackup/week.sh >> ~/test.txt
* * * * 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)
Respuestas:
Aquí hay una explicación del formato crontab.
De acuerdo con esto
5 8 * * 0
, correría a las 8:05 cada domingo.fuente
sun, mon, tue, wed, thu, fri, or sat
día. Esto también le ahorra tener que elegir entre usar0
o7
para el domingo.Para ejecutar un cron el domingo, puede usar cualquiera de estos:
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
,7
oSun
. Tenías6
, así que estaba funcionando el sábado.El formato para cronjobs es:
Siempre puede usar crontab.guru como editor para verificar sus expresiones cron.
fuente
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):
fuente
0 0 * * 1
.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).
referencia: https://github.com/ncb000gt/node-cron
fuente
Cron la expresión de trabajo de una manera legible humana constructor crontab
fuente
Creo que le gustaría este sitio web interactivo, que a menudo me ayuda a construir directivas complejas de Crontab: https://crontab.guru/
fuente
10 * * * Sol
fuente
@ semanal funciona mejor para mí!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM @weekly /root/fd/databasebackup/week.sh >> ~/test.txt
fuente
fuente