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


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


リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS