tail -f /path/to/logs/* |awk '/error/ && /warning/'
tail -f 加上通配符可以看到 logs 目录下所有文件的变更, 但有个缺陷就是之后 logs 目录下新增的文件的打印不到的, 也就是只会监视在 tail 执行时该目录下的所有文件, 之后新增的文件的变更是看不到的, 请问各位大佬是如何解决的呢?
tail -f /path/to/logs/* |awk '/error/ && /warning/'
tail -f 加上通配符可以看到 logs 目录下所有文件的变更, 但有个缺陷就是之后 logs 目录下新增的文件的打印不到的, 也就是只会监视在 tail 执行时该目录下的所有文件, 之后新增的文件的变更是看不到的, 请问各位大佬是如何解决的呢?
|
FirxiaoJun 7, 2018
1
```bash
multitail -Q 1 'directory/*' ``` 参考 https://unix.stackexchange.com/questions/39729/monitor-files-%C3%A0-la-tail-f-in-an-entire-directory-even-new-ones |
|
mattxJun 7, 2018
3
是否能先用 inotifywait 来监听变动文件和新建文件,然后在 tail ?
|
|
zvvingJun 7, 2018 via Android
4
太累,ELK 试试
|
|
lululauJun 7, 2018
5
原生的命令有啊,gcc,perl, python 都可以,确定就是需要一份代码作为输入,这个代码需要你来写
如果连个工具都给装,是我的话,对不起,没有工具,这活儿老子干不了 最后,人肉分析日志当然是 lnav |
|
shiznetJun 7, 2018
6
原始需求是什么?
|
|
lululauJun 7, 2018
7
一激动,错漏打几个字, “确定” -> “缺点”,“都给装” -> “都不给装”
|
|
8
|
|
ceyesJun 7, 2018
9
|
|
janic716Jun 7, 2018
10
tail -F
了解一下 |
|
12
tailf 了解一下
|
|
13
@jennifertxwoodma ...并不能
|
|
14
@ceyes
tail -f ../../logs/* | grep --line-buffered '.*' | while read LINE0 do echo "${LINE0}"; done 然后在 logs 目录下执行如 echo asdf>xx 还是不行 |
|
15
比如我的日志名是以小时区分的(即每过一小时用新文件存日志), 这样我就得重新执行 tail, 有什么办法可以一直监视新文件吗
|
|
cxbigJun 7, 2018
16
如果不同 log 文件的格式一致的话,ELK 还是很好用的。
如果不是,那需要针对每一种不同,做特殊配置。 |
|
janic716Jun 7, 2018
17
@GGGG430 常用的方法是, 日志永远往一个固定的文件名输入, 然后用定时任务到了时间点(小时或天) 自动做 rotate( 像 java 的 log4j 自带 rotate), 再结合 tail -F, 我用 flume 收集日志就是这么做的
|
|
omphJun 8, 2018
18
楼上的办法挺好,把日志文件名固定住
然后新建空日志文件,用 tail 打开监控 服务器把日志写到这些同名文件里 |
|
szetrovJun 8, 2018 via Android
19
呃,什么集群,一般难道不是管理节点编译安装一下然后直接 PBS 提交作业么。
|
|
KangvcarJun 8, 2018
20
tailf
了解一下 |
|
niaobulashiJun 14, 2018
21
tail -f 文件名
|