ajuda com script de registro

0

Eu quero criar um script que armazene a saída em um arquivo txt, mas a origem de onde estou extraindo está mudando o nome por um / mais caracteres a cada dia (de acordo com o calendário).

Como faço para criar um script que me ajude a cada dia pesquisar no próximo arquivo em linha ou pesquisá-lo por data de criação?

O comando é assim:

cat /etc/xxxx/logs/app_20151002.log | grep "IP address " | 
 awk '{print $10}' | uniq -c | sort -rnk1 | 
 awk '{print $2}' | tr "," " " | uniq -c | 
 grep -v "0.0.0.0" | >> /home/output.txt

Amanhã, o arquivo de log será app_20151003.log e assim por diante.

    
por Vitalik Jimbei 02.10.2015 / 09:07

1 resposta

3

Você quer dizer isso?

cat /etc/xxxx/logs/app_$(date +%Y%m%d).log | grep "IP address " | 
  awk '{print $10}' | uniq -c | sort -rnk1 | awk '{print $2}' | 
  tr "," " " | uniq -c | grep -v "0.0.0.0" | >> /home/output.txt

Explicação:

date +%Y%m%d retorna a data atual (conforme entendido pelo horário atual do host), no formato YYYYMMDD que você parece querer. A parte $() é uma macro bash útil que cria um sub-shell que executa os comandos entre parênteses e retorna stdo no comando original.

    
por Wolfer 02.10.2015 / 09:10