【发布时间】:2022-01-05 18:44:09
【问题描述】:
我需要从任何日志文件中获取最近 n 分钟或 n 小时的日志。我搜索并执行了许多命令,但没有一个不起作用。如果有任何特定的命令而不是脚本,那将是完美的。我的 Nginx 时间格式是“2022/01/05 11:47:41”
我试过下面的命令
awk -v bt=$(date "+%s" -d "30 minutes ago") '$1 > bt {printf("%s|%s|%s\n", strftime("%F %T",$1), $3, $7)} ' /var/log/nginx/access.log
sed -n "/^$(date --date="60 minutes ago" "+%d/%b/%Y:%H:%M")/,\$p" /var/log/nginx/access.log
grep -E (date -d -15minutes "+%Y/%m/%d %H:%M"|date -d "+%Y/%m/%d %H:%M")
还有很多类似上面的命令。
【问题讨论】:
-
你的 nginx 日志文件的格式是什么?
-
我需要同时查看 Nginx 和 pm2 日志的日志。对于 Nginx 是 "2022/01/05 11:47:41" 我发现每个日志都有自己的时间格式。所以最好知道我们怎样才能得到所有不同时间格式的日志文件。但如果你能告诉我这个时间格式,我可以根据我的要求修改它。谢谢 - jhnc
标签: linux shell command sh script