- 追加された行はこの色です。
- 削除された行はこの色です。
**G2G1移行スクリプトその後 [#tee5d9f8]
++DCD検出追加
module Aをuserが使用しているか否かを無線機で検出できるようにして、statserialというtoolでDCDのON/OFFをcomポート側から判断させる。g2g1_grep.sh→g2g1dcd.shに更新
#!/bin/bash
while :
do
FLAG=`/usr/sbin/tcpdump -vv dst host 64.22.115.235 -nXs 1000 -c 1`
echo "$FLAG"
#; pkill -9 tcpdump
DISCO=`echo "$FLAG" | grep -e "disconne"`
TYPE=`echo "$FLAG" | grep -e "type" | cut -b62-67`
if test $TYPE = "odulei" ; then
URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b60-69`
fi
if test $TYPE = "module" ; then
URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b61-68`
fi
echo "$TYPE urcall=$URCALL"
if test "$DISCO" = ""; then
if test "$URCALL" != "........" ; then
if test $TYPE = "odulei" ; then
MYCALL=`echo "$FLAG" | grep -e "mycall" | cut -b62-67`
URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b60-69`
RPT1=`echo "$FLAG" | grep -e "rpt1=" | cut -b58-65`
RPT2=`echo "$FLAG" | grep -e "pt2=" | cut -b56-63`
fi
if test $TYPE = "module" ; then
MYCALL=`echo "$FLAG" | grep -e "mycall" | cut -b63-68`
URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b61-68`
RPT1=`echo "$FLAG" | grep -e "rpt1=" | cut -b59-66`
RPT2=`echo "$FLAG" | grep -e "pt2=" | cut -b57-64`
fi
DT=`date`
nTIME=`echo "$DT" | cut -b12-16`
nDATA="$nTIME $MYCALL $URCALL $RPT1 $RPT2"
oDT0=`tail -1 /root/trace.log`
oDATA1=`echo "$oDT0" | cut -b11-15`
oDATA2=`echo "$oDT0" | cut -d " " -f 7,8,9,10`
echo "NewDATA=$nDATA"
echo "OldDATA=$oDATA1 $oDATA2"
if test "$nDATA" != "$oDATA1 $oDATA2"; then
echo "New DATA!!"
echo $DT $MYCALL $URCALL $RPT1 $RPT2 >>trace.log
fi
H_UR=`echo "$URCALL" | cut -b1`
C_RPT1=`echo "$RPT1" | cut -b1-6`
C_RPT2=`echo "$RPT2" | cut -b1-6`
E_RPT2=`echo "$RPT2" | cut -b8`
RPT1_G1=`grep $C_RPT1 /root/G1_rpt.txt`
RPT2_G1=`grep $C_RPT2 /root/G1_rpt.txt`
if (test "$H_UR" = "J" || test "$H_UR" = "7") && test "$RPT1_G1" != "" && test "$RPT2_G1" != "" && test "$E_RPT2" = "G"; then
echo "going to G1"; echo "going to G1..." >>trace.log
pkill -9 tcpdump
chkconfig --level 2 dstar_gw off
/etc/init.d/dstar_gw stop
/etc/init.d/dplus stop
if [ -f /dstar/dsgwd/dsgwd2 ]; then
mv /dstar/dsgwd/dsgwd2 /dstar/dsgwd/dsgwd
fi
sleep 5
/dstar/exec-gw
CT1=0
CT2=0
while test $CT1 -lt 900
do
sleep 10
echo "$CT1 $CT2"
SDCD=`statserial -n /dev/ttyS0 | grep DCD | cut -b34`
if test "$SDCD" = "1"; then
CT2=0
echo "--- under QSO $STIME ---"
fi
if test $CT2 -ge 60; then
echo "to bkeak"
break
fi
CT1=`expr $CT1 + 10`
CT2=`expr $CT2 + 10`
done
STIME=`date`
echo "$STIME G1 END END END. going to G2.."
echo "$STIME G1 END END END. going to G2.." >> trace.log
if [ -f /dstar/dsgwd/dsgwd ]; then
mv /dstar/dsgwd/dsgwd /dstar/dsgwd/dsgwd2
fi
pkill -9 exec-gw-nonstop
pkill -9 dsgwd
/sbin/chkconfig --level 2 dstar_gw on
/etc/init.d/dplus restart
/etc/init.d/dstar_gw start
echo "dsgwd starting"
/opt/products/dstar/dstar_gw/dsgwd/gwstart.sh
sleep 20
echo "Linking up to REF008 A & REF008 B"
echo "REF008AL" >/dstar/tmp/link-a
sleep 5
echo "REF008BL" >/dstar/tmp/link-b
fi
fi
fi
FLAG=""
done
#clear
#comment
#navi(日記)