Cómo ejecutar cron una vez, diariamente a las 10 p.m.

178

Había entrado:

* 22 * * * test > /dev/null

Sin embargo, recibo una notificación por correo electrónico de que esto se ejecuta cada minuto. Estoy confundido, supongo porque pensé que esto era correcto para lo que quiero.

Benjamín
fuente
3
Este sitio web explicará cualquier cronograma cron: crontab.guru
Bruno Finger

Respuestas:

369

Funciona cada minuto de la hora 22, supongo. Pruebe lo siguiente para ejecutarlo cada primer minuto de la hora 22:

0 22 * * * ....
Marc Simon
fuente
Aunque la hora 22 podría ser relativamente salva, considere el primer caso de esta pregunta
Martin Thoma el
@MartinThoma siempre intenta man cronprimero, debes encontrar lo que estás buscando.
Marc Simon
Recuerde verificar la fecha del sistema, se me ocurrió configurar crontab para comenzar un trabajo a las 22, pero en realidad comenzó a las 23 porque el sistema era UTC (por lo que 22 para el sistema era 23 para mí en GMT).
nnsense
Voté esta respuesta pero conocía esta regla ... de todos modos, quería confirmar mi conocimiento silencioso: D
rnrneverdies
154

Aquí hay algunos ejemplos más.

  • Ejecutar cada 6 horas a los 46 minutos después de la hora:

    46 */6 * * *

  • Corre a las 2:10 am:

    10 2 * * *

  • Corre a las 3:15 am:

    15 3 * * *

  • Corre a las 4:20 am:

    20 4 * * *

  • Corre a las 5:31 am:

    31 5 * * *

  • Corre a las 5:31 pm:

    31 17 * * *

Abdalla Mohamed Aly Ibrahim
fuente
25

Esto es lo que veo cada vez que escribo una nueva entrada crontab:

Para comenzar a editar desde el tipo de terminal:

 zee$ crontab -e

lo que agregará al archivo crontab:

0 22 * * 0  some-user /opt/somescript/to/run.sh

Lo que significa:

[ 
+ user => 'some-user',      
+ minute => 0’,             <<= on top of the hour.
+ hour => '22',              <<= at 10 PM. Military time.
+ monthday => '*',           <<= Every day of the month*
+ month => '*',              <<= Every month*
+ weekday => ‘*’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

Además, verifique qué shell está ejecutando su máquina y asigne al archivo el nombre correspondiente O NO se ejecutará.

Verifique la carcasa con echo $SHELLoecho $0

Puede ser "Bourne shell (sh), Bourne nuevamente shell (bash), Korn shell (ksh)..etc"

zee
fuente
1

La sintaxis para crontab

* * * * * 

Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute

Su sintaxis

* 22 * * * test > /dev/null

su trabajo se ejecutará cada minuto a las 22:00 hrs durante toda la semana, mes y año.

agregar una opción (0-59) en el lugar de minutos lo ejecutará una vez a las 22:00 hrs durante toda la semana, mes y año.

0 22 * * * command_to_execute 

Fuente https://www.adminschoice.com/crontab-quick-reference

Magesh Somasundaram
fuente