Headers.logをJSTで
ircddbgateway+gmsrepeater等で吐き出される/var/log/Headers.logの時刻表示がUTCに
なっているので、JST表示にした。ただし、年月日は省略して時刻のみとする。
- 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-`
    DTTEMP=`date +%s --date "$DTUTC"`
    DTJST=`expr $DTTEMP + "32400"`
    DTJST=`date --date "@$DTJST" | cut -b30-46`
    echo "$DTJST:$MSG0"
  done <temp1.txt
DT0="$DT1"
sleep 5
done
- 表示例
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  Flags: 00 00 00
 15:41:41 JST:My: JF1CXH  /UP4   Your: CQCQCQ    Rpt1: JF1CXH D  Rpt2: DCS021 C  Flags: 00 00 00