Мониторинг нескольких файлов журнала Linux в режиме реального времени

Я отлаживаю приложение Linux, позволяющее отправлять удаленные задания, и записываю вывод каждого задания в новый файл. Пути файла журнала соответствуют:

/joblogs/job_*/JOB.LOG

где подстановочный знак представляет уникальный номер задания.

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

multitail -q 1 "/joblogs/job_*/JOB.LOG"

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

Кто-нибудь знает, как это сделать, с помощью мультитейла или другого инструмента Linux?

3 ответа

Решение

Так как одновременно активна только одна работа, журналы завершенных работ перемещаются в /joblogs/complete_jobs/job_*, и журналы короткие, этот обходной путь пока хорош:

while [ 1 == 1 ] ; do for joblog in `ls /joblogs/job_*/JOB.LOG`; do cat $joblog; done; sleep 10; done

Попробуйте удалить параметры и кавычки

Лайк tail Вам нужно дать ему -f флаг, чтобы сказать это Следить за файлами?

Другие вопросы по тегам