[英]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.