Como executar menos de 1 minuto de empregos usando o agendador baseado no tempo do CRON
- 4360
- 1280
- Enrique Gutkowski PhD
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