Monitoramento de logs ativos usando a substituição do processo bash:
#!/bin/bash
while IFS='$\n' read -r line;
do
# action here, log line in $line
done < <(tail -n 0 -f /var/log/apache2/other_vhosts_access.log | \
grep '/somefile.pdf?utm_source=email392')
Processo de substituição alimenta o ciclo de leitura com o saída do pipeline dentro de <(...)
. A linha de log em si é atribuída à variável $line
.
Os registros são assistidos usando tail -f
, que exibe as linhas à medida que são gravadas nos registros. Se seus arquivos de log forem movidos periodicamente por logrotate , adicione as opções --follow=name
e --retry
para observar o caminho do arquivo em vez de apenas o descritor do arquivo.
A saída de tail é canalizada para grep
, que filtra as informações relevantes linhas que correspondem aos seus URLs.