Top > 日記 > 2014-02-14

Headers.logをJSTで

ircddbgateway+gmsrepeater等で吐き出される/var/log/Headers.logの時刻表示がUTCに
なっているので、JST表示にした。ただし、年月日は省略して時刻のみとする。

  1. hlog.sh
    #!/bin/sh
    LOGF="/var/log/Headers.log"
    
    DT0=`tail -5 $LOGF | head -1 | cut -b1-19`
    
    while :
    do
      LOG1=`tail -1 $LOGF`
      DT1=`echo "$LOG1" | cut -b1-19`
      DTN=`grep -n "$DT0" $LOGF | cut -d":" -f1 | tail -1`
      DTALL=`wc -l $LOGF | cut -d" " -f1`
      FLAG=`expr $DTALL - $DTN`
      if test "$FLAG" = "" ; then
        FLAG="0"
      fi
      #echo "DT0=[$DT0] LOGF=[$LOGF] LOG1=[$LOG1]"
      #echo "DT1=[$DT1] DTN=[$DTN] DTALL=[$DTALL] FLAG=[$FLAG]"
      tail -$FLAG $LOGF > temp1.txt
    
      while read line
      do
        DTUTC=`echo "$line" | cut -b1-19`
        MSG0=`echo "$line" | cut -d " " -f6- | cut -b1-67`
        DTTEMP=`date +%s --date "$DTUTC"`
        DTJST=`expr $DTTEMP + "32400"`
        DTJST=`date --date "@$DTJST" | cut -b12-23`
        echo "$DTJST:$MSG0"
      done <temp1.txt
    
    DT0="$DT1"
    sleep 5
    done
     
  2. 表示例

    UTC表示
    2014-02-14 06:20:21: Repeater header - My: JH1BLT B/ID80 Your: CQCQCQ Rpt1: JJ1YEG C Rpt2: JJ1YEG G Flags: 00 00 00
    2014-02-14 06:41:41: DCS header - My: JF1CXH /UP4 Your: CQCQCQ Rpt1: JF1CXH D Rpt2: DCS021 C Flags: 00 00 00

    JST表示
    15:20:21 JST:My: JH1BLT B/ID80 Your: CQCQCQ Rpt1: JJ1YEG C Rpt2: JJ1YEG G
    15:41:41 JST:My: JF1CXH /UP4 Your: CQCQCQ Rpt1: JF1CXH D Rpt2: DCS021 C

         Teratermでログイン後モニター↓
        hlog_ex.jpg

    URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White


添付ファイル: filehlog_ex.jpg 725件 [詳細]

リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Wed, 25 Jun 2014 14:07:55 JST (3593d)