Chinaunix

标题: 一個比較蛋疼的問題,關於apache時間格式問題. [打印本页]

作者: qq58945591    时间: 2015-05-06 12:45
标题: 一個比較蛋疼的問題,關於apache時間格式問題.
工作需要截取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輸出,發現是在這裡出現問題.


作者: liion631818    时间: 2015-05-06 12:55
能直接说你要干嘛吗
作者: qq58945591    时间: 2015-05-06 13:49
回复 2# liion631818


    表達能力不行.....

   就是根據時間點,截取出日誌文件的內容段,比如apache的error日誌,    從某個時間開始到某個時間結束,這中間的內容截取出來備用.如 2015年4月6號的中午12點30分到1點30分之間的內容.


   不過就我上面的問題,我已經找到解決時間格式的辦法了.


    date "+%b %d %H:%m"
     
    May 05 20:05

   
作者: Shell_HAT    时间: 2015-05-06 14:26
%d     day of month (e.g, 01)





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2