tail -F asdf.log | while true; do if read -t 1 LINE; then echo $LINE; else echo beep; fi; done
(Altere o número após -t
para o número de segundos de inatividade que você deseja)
Há alguns dias, perguntei Existe uma maneira de fazer a cauda -F beep?
Agora eu quero saber se existe alguma maneira de usar utilitários * nix, para bipar quando um tail -F
parar de retornar novas linhas por um tempo!
Eu sei, posso escrever um aplicativo simples em qualquer idioma para fazer isso, mas fiquei curioso para saber se existe uma maneira de fazer isso apenas por utilitários padrão (ou semi-padrão).
Os objetivos são bip quando um arquivo (como um arquivo de log) não cresce mais.
Use o monitor silence
em screen(1)
. Você pode configurá-lo por um certo período de 'silêncio' (sem entrada / saída) e um sinal sonoro visual será ouvido.
Suponha que você tenha um arquivo de log chamado log.txt . Se log.txt não for atualizado por pelo menos 5 segundos, este comando avisará o usuário por um sinal sonoro:
perl -e 'for(;;){$p=$z;$z='wc -l log.txt';if ($z==$p) {print "\a";}sleep(5);}'
É feio, mas funciona;)
Tags monitoring logs tail shell bell