Мониторинг нескольких файлов журнала 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
флаг, чтобы сказать это Следить за файлами?