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.


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 * * * ....

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 * * *



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"


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

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.