Tailing Rolling Files

У меня есть каталог, полный файлов журналов прокрутки, для которых я хотел бы использовать tail.

Файлы названы так:

name      modified
00A.txt   Dec 27 19:00
00B.txt   Dec 27 19:01
00C.txt   Dec 27 19:02
00D.txt   Dec 27 19:03

В более старой системе unix я пытаюсь создать сценарий оболочки, который будет отслеживать последний измененный файл в определенном каталоге, и если этот файл будет закрыт административно (перекатывается к следующему файлу) Я хочу, чтобы программа автоматически начала отслеживать новый файл без необходимости вырываться из хвоста для повторного запуска.

tail -100f `ls -t | head -1` 

Желаемое поведение, учитывая указанные выше имена файлов, будет выглядеть следующим образом:

./logtailer.sh

Затем сценарий начнет отслеживать 00D.txt. Как только регистратор закончит запись в 00D.txt и самый новый файл журнала будет называться 00E.txt, программа автоматически начнет отслеживать этот файл.

Этот сценарий можно было бы написать, просмотрев вывод tail для текста «Файл административно закрыт», а затем снова запустив следующую команду.

tail -100f `ls -t | head -1`

Есть ли более элегантный способ сделать это, чем наблюдать за текстом «файл закрыт административно»? Как я могу даже прочитать вывод tail построчно в сценарии оболочки?

Edit: Я должен объяснить, что флаг -F для tail не подходит для меня в этой системе. Он использует другую версию хвоста, которая не содержит этой функции.Версия ОС - Solaris 10

15
задан user1118047 27 December 2011 в 19:47
поделиться