簡體   English   中英

如何使用 linux 中的命令從任何日志文件中獲取最后 N 分鍾或 N 小時的日志

[英]How to get last N min or N hour logs from any log files using command in linux

我需要從任何日志文件中獲取最后 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")

和許多類似上面的命令。

試試這個命令,它對我有用

sed -n /$(date --date="15 minutes ago" "+%T")/,/$(date "+%T")/p logfile > newfile

date --date="15 minutes ago" "+%T"是 15 分鍾之前的時間

date "+%T"是當前時間

您必須修改基於時間格式和您的日志文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM