- 论坛徽章:
- 10
|
工作需要截取apache 的error日誌.
根據時間來查找.比如某個時間到某個時間的都截取出來.但是這個時間怎麼去表示,蛋疼了.
error日誌裡是這樣的格式:
Fri Jan 02 11:01:24 2015
Wed Apr 29 15:40:51 2015
操作系統平台是freebsd 8.4,以下為我寫的截取片段,不要求精確到秒,到分鐘就可以了.
#截取起始時間,以當前時間為基準,設置抓取起始點為3分鐘之前.
BERRTIME=`date -v-3M | awk -F: '{print $1":"$2}'`
#當前時間點.
NERRTIME=`date| awk -F: '{print $1":"$2}'`
echo "Now try to get web log "
sed -n "/$BERRTIME/,/$NERRTIME/p" $WEB_ERR_LOG > $BAKWEB/httpd-`date +%Y%m%d-%H-%M`-error.log
這是我的思路, 截取出Fri Jan 02 11:01 段就行了,然後給sed 處理, 問題現在出現在標紅的天數這裡,
假如是雙數如15,25,18,29那就能抓取到,如果是單數06的話,用date取值出來是沒有0的,這下就蛋疼了,日誌信息就取不到了,
不知道如何能表示跟日誌一樣的時間格式.或者有更好的思路能根據時間段截取出相應的日誌信息.
小弟新入職,沒有權限登錄服務器,只能本機測試,主管只給了一份log文件. 特麼我說在機器上測試ok的,放服務器上就不行.後來
debug輸出,發現是在這裡出現問題.
|
|