Linux日志截取利器——sed命令(亲测可用)

Linux日志截取利器——sed命令(亲测可用),第1张

在生产环境中,往往没有条件给我们去debug排查,更多时候我们是通过日志来看具体的报错日期。

但是日志往往是一直在实时更新,而且记录条数庞大,很难直接定位到错误信息。这个时候,就可以利用sed命令截取指定时间段内的日志(也是网上大多数博主的做法)。

具体命令如下:

这条命令可以查询2020.10.13号当天9点到9点十分中间的所有的日志信息。

但是这条命令的使用有两个前提(很多网上的博主都没有提到)

第一,日志输出的日期格式是要满足命令中的格式 ,如果不是的话就跟着实际的格式改

第二,输入的日期必须要真实存在!!! ,比如说9点整刚好没有日志输出,那么这条命令就会失效

更加通配的命令可以是这样, 使用 号*

这样无论九点整的时候是否有日志产生,就都可以获取到9点整到现在的所有日志了

使用 > ,将截取到的内容输出到指定的文件中,方便进一步查看

ps:在实际 *** 作中,我们一般会在后面加grep命令做进一步的关键字过滤

1、linux 自带的 logrotate 命令

2、定义切割文件相关信息

/var/log/nginx/*.log {

daily #按天打包

rotate 180 #保存周期为180以内的,超过180天的则删除

missingok

notifempty

dateext

compress

nodelaycompress

sharedscripts

postrotate

/etc/init.d/nginx reload

endscript

}

3、crontab 设置一个定时任务

59 23 * * * /usr/sbin/logrotate -f /var/logrotate/nginx >>/tmp/logrotate.log


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8378888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存