Cómo ejecutar trabajos de intervalos de menos de 1 minuto utilizando el programador de tiempo Cron basado en el tiempo

Cómo ejecutar trabajos de intervalos de menos de 1 minuto utilizando el programador de tiempo Cron basado en el tiempo

El programador basado en el tiempo de Linux Cron de forma predeterminada no ejecuta trabajos con intervalos más cortos de 1 minuto. Esta configuración le mostrará un truco simple sobre cómo usar el programador basado en el tiempo Cron para ejecutar trabajos utilizando el intervalo de segundos. Comencemos con lo básico. El siguiente trabajo cron se ejecutará cada minuto:

* * * * * * fecha >> /tmp /cron_test 

El trabajo anterior se ejecutará cada minuto e inserta una hora actual en un archivo /tmp/cron_test. Ahora, eso es fácil! Pero, ¿qué pasa si queremos ejecutar el mismo trabajo cada 30 segundos?? Para hacer eso, usamos Cron para programar dos trabajos exactamente los mismos mismos, pero posponemos la ejecución de los segundos trabajos usando dormir comando durante 30 segundos. Por ejemplo:

* * * * * * fecha >> /tmp /cron_test * * * * * duerme 30; fecha >> /tmp /cron_test 

Lo que sucede anteriormente es que Cron Scheduler ejecuta ambos trabajos al mismo tiempo, sin embargo, el segundo trabajo de Cron tendrá 30 segundos de ejecución de shell retrasada. Usando la misma idea anterior, también podemos programar 15 segundos intervalos de ejecución de trabajo de Cron:

* * * * * * dormir 15; fecha >> /tmp /cron_test * * * * * * dormir 30; fecha >> /tmp /cron_test * * * * * dormir 45; fecha >> /tmp /cron_test * * * * * duerme 60; fecha >> /tmp /cron_test 

Ahora, ¿qué hay de 5 segundos?? Lo mismo aquí, pero sería un poco más de mecanografía, así que sugiero usar bash para bucle para generar nuestra lista de cron. El siguiente comando de Linux creará la lista CRON para ejecutar fecha >> /tmp /cron_test En intervalos de 5 segundos:

# para i en $ (SEQ 5 5 60); do (crontab -l; echo " * * * * * dormir $ i; fecha >> /tmp /cron_test") | crontab -; hecho 


Usar crontab -l Para ver todos sus trabajos programados de Cron:

# CRONTAB -L # M H DOM MON DOW COMANDO * * * * * Dormir 5; fecha >> /tmp /cron_test * * * * * * dormir 10; fecha >> /tmp /cron_test * * * * * * dormir 15; fecha >> /tmp /cron_test * * * * * duerme 20; fecha >> /tmp /cron_test * * * * * duerme 25; fecha >> /tmp /cron_test * * * * * * dormir 30; fecha >> /tmp /cron_test * * * * * duerme 35; fecha >> /tmp /cron_test * * * * * * dormir 40; fecha >> /tmp /cron_test * * * * * dormir 45; fecha >> /tmp /cron_test * * * * * duerme 50; fecha >> /tmp /cron_test * * * * * dormir 55; fecha >> /tmp /cron_test * * * * * duerme 60; fecha >> /tmp /cron_test 

A continuación, revisa tu /tmp/cron_test archivo de salida:

# cat /tmp /cron_test sáb 20 de agosto 06:32:06 UTC 2016 Sáb 20 de agosto 06:32:11 UTC 2016 Sáb 20 de agosto 06:32:16 UTC 2016 Sábado 20 de agosto 06:32:21 UTC 2016 Sáb 20 de agosto 06 : 32: 26 UTC 2016 sábado 20 de agosto 06:32:31 UTC 2016 Sáb 20 de agosto 06:32:36 UTC 2016 Sáb 20 de agosto 06:32:41 UTC 2016 Sáb 20 de agosto 06:32:46 UTC 2016 SAT 20 06 06 : 32: 51 UTC 2016 SAT 20 de agosto 06:32:56 UTC 2016 Sáb 20 de agosto 06:33:01 UTC 2016 Sáb 20 de agosto 06:33:06 UTC 2016 Sáb 20 de agosto 06:33:11 UTC 2016 SAT 20 06 06 : 33: 16 UTC 2016 sáb 20 de agosto 06:33:21 UTC 2016 

Tutoriales de Linux relacionados:

  • Cómo ejecutar comandos periódicamente con Anacron en Linux
  • Cómo crear un trabajo cron en Kubernetes
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cómo establecer la fecha y la hora en Almalinux
  • Cosas para instalar en Ubuntu 20.04
  • Cómo configurar crontab para ejecutar cada 5 minutos
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Tiempo sus scripts y procedimientos de Bash desde el interior del código
  • Cómo establecer/cambiar la zona horaria en Almalinux
  • Cómo revertir las actualizaciones de Pacman en Arch Linux