Linux / Shell Script - Repetindo um comando no terminal a cada X intervalos de tempo
Muitas vezes precisamos monitorar o funcionamento de aplicações que precisam pegar dados em web services, APIs, gerar arquivos de tempos em tempos, logs e etc.
O comportamento das aplicações podem variar muito conforme o tipo de dados que recebemos e processamos, principalmente quando não temos o controle completo do dado que chega.
Um bom meio para fazer isso é deixar sua aplicação rodando por algum tempo sozinha, coisa que seria muito chata de fazer manualmente.
O Shell do Linux nos permite fazer facilmente um timer para rodar nossa aplicação, por exemplo, a cada 20 minutos. No final do dia podemos ver os logs, arquivos gerados ou as atualizações em um banco de dados de testes para verificar se o comportamento foi o esperado.
O comando Shell é o que segue abaixo:
while true; do <your_command>; sleep <interval_in_seconds>; done
Vamos supor que queremos rodar uma aplicação NodeJs a cada 20 minutos. Para isso vamos na pasta em que se encontra nossa aplicação e digitamos o seguinte comando Shell:
while true; do node index.js; sleep 1200; done
( 1200s é o mesmo que 20minutos ) 😉
Para encerrar o processo basta dar um Ctrl+C
😁
Comentários
Postar um comentário