Tail -f последний измененный файл в папке

Tail -f последний измененный файл в папке

Я пытаюсь использовать tail -fдля отслеживания файла журнала в указанной папке. Я могу сделать это с помощью простой команды tail -f [path to file], но есть ли способ, чтобы у меня была команда, которая запускается и отслеживает самый последний/последний измененный файл в папке. Я не эксперт в этой области, поэтому любая помощь будет оценена

решение1

Вы можете запустить ls -tp | sort | grep -v / | tail -n 1команды и пропустить их черезforцикл, чтобы затем запустить tail -Fкоманду только для самого нового файла, чтобы отслеживать изменения его содержимого. Вы также можете рассмотреть ls -tpr | grep -v / | tail -n 1команды вместо этого.

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

или

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

Дополнительные ресурсы

  • 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
    

решение2

Вы могли бы использовать МультиТейл, доступный как стандартный пакет во многих дистрибутивах.

Пример 1: Объединение двух файлов журнала в одном окне с разными цветами

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

введите описание изображения здесь

Пример 2: Отображение пяти файлов журнала, объединение двух в один столбец

 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

введите описание изображения здесь

Источник: MultiTail – одновременный мониторинг нескольких файлов в одном терминале Linux.

Связанный контент