Tail -f último arquivo modificado na pasta

Tail -f último arquivo modificado na pasta

Estou tentando usar tail -fpara seguir um arquivo de login em uma pasta especificada. Posso fazer isso com o comando simples, tail -f [path to file]mas existe uma maneira de ter um comando que execute e rastreie o arquivo mais recente/último modificado em uma pasta. Não sou um especialista nesta área, então qualquer ajuda será muito apreciada

Responder1

Você poderia executar os ls -tp | sort | grep -v / | tail -n 1comandos e colocá-los em umforloop para executar o tail -Fcomando apenas no arquivo mais recente para monitorá-lo quanto a alterações de conteúdo. Você também pode considerar os ls -tpr | grep -v / | tail -n 1comandos.

for VAR in $(ls -tp | sort | grep -v / | tail -n 1); do tail -F $VAR; done

ou

for VAR in $(ls -tpr | grep -v / | tail -n 1); do tail -F $VAR; done

Recursos adicionais

  • ls

       -t     sort by modification time, newest first
    
       -p, --indicator-style=slash
              append / indicator to directories
    
       -r, --reverse
              reverse order while sorting
    
  • sort

  • grep

    -v, --invert-match
    Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX .)
    
  • tail

      -n, --lines=[+]NUM
              output the last NUM lines, instead of the last 10; or use -n
              +NUM to output starting with line NUM
    

Responder2

Você poderia usar MultiTail, disponível como pacote padrão em muitas distribuições.

Exemplo 1: Mesclar dois arquivos de log em uma janela com cores diferentes

multitail -ci green /var/log/yum.log -ci yellow -I /var/log/mysqld.log

insira a descrição da imagem aqui

Exemplo 2: Exibir cinco arquivos de log, mesclando dois em uma coluna

 multitail -s 2 -sn 1,3  /var/log/mysqld.log -I /var/log/xferlog /var/log/monitorix /var/log/ajenti.log /var/log/yum.log

insira a descrição da imagem aqui

Fonte: MultiTail – Monitore vários arquivos simultaneamente em um único terminal Linux.

informação relacionada