**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(日記) |