实时监控多个Linux日志文件

实时监控多个Linux日志文件

我正在调试一个允许提交远程作业的 Linux 应用程序,并将每个作业的输出记录在新文件中。日志文件路径符合:

/joblogs/job_*/JOB.LOG

其中通配符代表唯一的作业编号。

我希望能够跟踪每个作业日志,包括在发出 tail(或其他)命令后创建的新日志。我以为我可以使用多尾,但我不知道该使用哪组参数。例如,

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

似乎按照我想要的方式为每个新日志文件创建一个窗口,但它没有在文件窗口中显示任何输出。

有人知道如何做到这一点吗,无论是使用 multitail 还是其他 Linux 工具?

答案1

由于一次只有一个作业处于活动状态,已完成的作业日志将被移动到 /joblogs/completed_jobs/job_* 并且日志很短,因此这种临时的解决方法目前是可行的:

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

答案2

尝试删除参数和引号

答案3

比如,tail你是否需要给它一个-f标志来告诉它关注文件?

相关内容