linux查看日志的三种命令

linux nohup日志如何按日期查询

说实话,当我第一次看到Linux中的nohup.out日志时,我很困惑。
后来我发现这两个方法很有趣,所以我就快速总结一下,现在给大家讲一下我的实践经验。

先说方法1 使用查找和 grep。
我有一个项目日志,它是一个基于人才的文件,例如 nohup_2 02 4 -1 2 -3 0.log。
当时我只是想找到过去一周发生的具体错误,所以就用了find。
砰 查找 /var/log/apps -type f -name "nohup_.log" -mtime -7 此命令列出上周修改的所有 nohup 文件。
然而,更常见的情况是合并日志文件时,例如将日期直接写入nohup.out。
那么你需要使用grep。
砰 grep "2 02 4 -1 2 -3 0" /var/log/apps/nohup.out 我特别尝试了使用递归搜索,很方便。
砰 /var/log/apps -type f -name ".log" -exec grep -l "2 02 4 -1 2 -3 0" {} \; 这将直接告诉您哪些文件包含指定日期,省去了您逐个打开它们的麻烦。
检查完毕后,使用Less浏览内容。
比猫好多了。
如果您想浏览几 MB 的日志,请尝试使用较小的量。
翻页会很有趣。

方法2 使用awk更加灵活。
我有一个运维同学,日志中的每一行都有这样的时间戳:
[2 02 4 -1 2 -3 01 0:00:00]错误:连接失败 使用 awk 非常适合此目的。
砰 awk '$1 >= "[2 02 4 -1 2 -2 3 ]" && $1 <= "[2 02 4 -1 2 -3 0]"' /var/log/apps/nohup.out |少 这个命令行直接按时间戳过滤,真是太神奇了。
我有过作弊经历。
如果你的日志格式是纯字符串日期,比如“2 02 4 -1 2 -3 0 1 0:00:00”,记得在比较时使用大于等于和小于等于。
别问我怎么知道的。
上次我差点就被这个骗了好久。

然而,陷阱是路径和字段选择器很容易出错。
我有一个朋友用 1 美元换了 2 美元,却得到了错误的结果。
还有大文件处理。
不要愚蠢地使用你的猫。
Less 允许您分页和搜索关键字。
在半夜检查日志可以节省大量时间。
记住这两个命令是个好主意。
半夜急用肯定够了。

但是,您必须注意时间的准确性。
-mtime 以天为单位计算。
如果你想准确地知道时间,awk更可靠。
上次我使用 logrotate 旋转日志时,它使用 awk 精确过滤了半天。

linux查看日志的三种命令