在生产环境中,往往没有条件给我们去debug排查,更多时候我们是通过日志来看具体的报错日期。
但是日志往往是一直在实时更新,而且记录条数庞大,很难直接定位到错误信息。这个时候,就可以利用sed命令来截取指定时间段内的日志(也是网上大多数博主的做法)。
具体命令如下:
这条命令可以查询2020.10.13号当天9点到9点十分中间的所有的日志信息。
但是这条命令的使用有两个前提(很多网上的博主都没有提到)
第一,日志输出的日期格式是要满足命令中的格式 ,如果不是的话就跟着实际的格式改
第二,输入的日期必须要真实存在!!! ,比如说9点整刚好没有日志输出,那么这条命令就会失效
更加通配的命令可以是这样, 使用 号*
这样无论九点整的时候是否有日志产生,就都可以获取到9点整到现在的所有日志了
使用 > ,将截取到的内容输出到指定的文件中,方便进一步查看
ps:在实际 *** 作中,我们一般会在后面加grep命令做进一步的关键字过滤
24小时,就是相差一天,所以变化的只有天数。我这里提供一个笨方法:
用date获取当前日期和时间,格式化成你的文件命名格式,用下面的字符串截取方法获得天数:
${varible:n1:n2}:截取变量varible从n1到n2之间的字符串
天数减1后,重新组织成新的字符串。
用循环比较 ls 出来的文件名与这个字符串。
代码试过后再放上来。
24小时,就是相差一天,所以变化的只有天数。我这里提供一个笨方法:用date获取当前日期和时间,格式化成你的文件命名格式,用下面的字符串截取方法获得天数:${varible:n1:n2}:截取变量varible从n1到n2之间的字符串天数减1后,重新组织成新的字符串。用循环比较 ls 出来的文件名与这个字符串。代码试过后再放上来。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)