Como executar menos de 1 minuto de empregos usando o agendador baseado no tempo do CRON

Como executar menos de 1 minuto de empregos usando o agendador baseado no tempo do CRON

O agendador baseado no tempo do Linux Cron por padrão não executa trabalhos com intervalos mais curtos que 1 minuto. Esta configuração mostrará um truque simples como usar o agendador baseado no tempo para executar trabalhos usando intervalo de segundos. Vamos começar com o básico. O seguinte trabalho de Cron será executado a cada minuto:

* * * * * Data >> /tmp /cron_test 

O trabalho acima será executado a cada minuto e insira um horário atual em um arquivo /tmp/cron_test. Agora, isso é fácil! Mas e se quisermos executar o mesmo trabalho a cada 30 segundos? Para fazer isso, usamos Cron para agendar dois mesmos mesmos trabalhos, mas adiamos a execução dos segundos empregos usando dormir comando por 30 segundos. Por exemplo:

* * * * * DATA >> /TMP /CRON_TEST * * * * * SLUGA 30; Data >> /tmp /cron_test 

O que acontece acima é que o Cron Scheduler executa os dois trabalhos ao mesmo tempo, no entanto, o segundo trabalho do Cron terá 30 segundos de execução atrasada. Usando a mesma ideia acima, também podemos agendar 15 segundos de intervalos de execução de trabalho do CRON:

* * * * * Sono 15; Data >> /tmp /cron_test * * * * * Sono 30; Data >> /tmp /cron_test * * * * * Sono 45; Data >> /tmp /cron_test * * * * * Sono 60; Data >> /tmp /cron_test 

Agora, que tal 5 segundos? Mesmo aqui, mas seria um pouco mais digitando, por isso sugiro usar o Bash for Loop para gerar nossa lista de cron. O seguinte comando Linux criará a lista CRON para executar Data >> /tmp /cron_test em intervalos de 5 segundos:

# para i em $ (seq 5 5 60); do (crontab -l; echo " * * * * * SLUGA $ I; DATA >> /TMP /CRON_TEST") | Crontab -; feito 


Usar Crontab -l Para ver todos os seus empregos agendados para Cron:

# crontab -l # m h dom de comando dow * * * * * * sono 5; Data >> /tmp /cron_test * * * * * Sono 10; Data >> /tmp /cron_test * * * * * Sono 15; Data >> /tmp /cron_test * * * * * Sono 20; Data >> /tmp /cron_test * * * * * Sono 25; Data >> /tmp /cron_test * * * * * Sono 30; Data >> /tmp /cron_test * * * * * Sono 35; Data >> /tmp /cron_test * * * * * Sono 40; Data >> /tmp /cron_test * * * * * Sono 45; Data >> /tmp /cron_test * * * * * Sono 50; Data >> /tmp /cron_test * * * * * Sono 55; Data >> /tmp /cron_test * * * * * Sono 60; Data >> /tmp /cron_test 

Em seguida, verifique o seu /tmp/cron_test arquivo de saída:

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

Tutoriais do Linux relacionados:

  • Como executar comandos periodicamente com Anacron no Linux
  • Como criar um trabalho Cron em Kubernetes
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como definir a data e a hora no Almalinux
  • Coisas para instalar no Ubuntu 20.04
  • Como definir Crontab para executar a cada 5 minutos
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Cronometrar seus scripts e procedimentos de bash de dentro do código
  • Como definir/alterar o fuso horário no Almalinux
  • Como reverter as atualizações do Pacman no Arch Linux