**G2toG1移行スクリプト [#zf4f6ba0] 現在は、urcallに個人コールだった場合は全て、10分間、G1に移行してしまうため、G1からG2に戻るまでの約10分間は、G2側に接続できない。 そこで改善策を検討。※つまりG1移行の条件付けをする +urcall が"J" または"7" で始まる局、尚且つ、RPT1/RPT2がG1レピーター((JP1YJQ JP1YJXを除く))であり、RTP2の末尾文字が"G"の場合にG1へ移行する。 +dplusのヘッダー例 "type=XX"のXX桁数により、切り取る位置が異なる。 0x0000: 4500 00d9 0000 4000 4011 7c11 0a00 0002 E.....@.@.|..... 0x0010: 4016 73eb 4e21 4e22 00c5 bed9 bdc0 1000 @.s.N!N"........ 0x0020: 6470 6c75 7320 322e 3267 3a67 7763 616c dplus.2.2g:gwcal 0x0030: 6c3d 4a50 3159 4a51 2020 3a74 696d 653d l=JP1YJQ..:time= 0x0040: 3133 3235 3331 3533 3033 2e37 3837 3232 1325315303.78722 0x0050: 323a 7479 7065 3d31 363a 6d6f 6475 6c65 2:type=16:module 0x0060: 6964 3d30 313a 7374 7265 616d 6964 3d64 id=01:streamid=d 0x0070: 6665 303a 6d79 6361 6c6c 3d4a 4831 424c fe0:mycall=JH1BL 0x0080: 5420 4e3a 6d79 7375 6666 6978 3d44 5641 T.N:mysuffix=DVA 0x0090: 503a 7572 6361 6c6c 3d43 5143 5143 5120 P:urcall=CQCQCQ. 0x00a0: 203a 7270 7431 3d4a 4831 424c 5420 4e3a .:rpt1=JH1BLT.N: 0x00b0: 7270 7432 3d52 4546 3030 3820 423a 6d73 rpt2=REF008.B:ms 0x00c0: 673d 6777 6c69 6e6b 2076 2f64 2065 6e64 g=gwlink.v/d.end 0x00d0: 2031 343a 6470 6c75 73 .14:dplus ------------------------------------------------------------------- 0x0000: 4500 00d2 0000 4000 4011 7c18 0a00 0002 E.....@.@.|..... 0x0010: 4016 73eb 4e21 4e22 00be bed2 b6c0 1000 @.s.N!N"........ 0x0020: 6470 6c75 7320 322e 3267 3a67 7763 616c dplus.2.2g:gwcal 0x0030: 6c3d 4a50 3159 4a51 2020 3a74 696d 653d l=JP1YJQ..:time= 0x0040: 3133 3235 3331 3437 3134 2e30 3833 3337 1325314714.08337 0x0050: 323a 7479 7065 3d32 3a6d 6f64 756c 6569 2:type=2:modulei 0x0060: 643d 3030 3a73 7472 6561 6d69 643d 3030 d=00:streamid=00 0x0070: 3030 3a6d 7963 616c 6c3d 4a47 3156 574c 00:mycall=JH1BLT 0x0080: 2020 3a6d 7973 7566 6669 783d 2020 2020 ..:mysuffix=.... 0x0090: 3a75 7263 616c 6c3d 2020 2020 2020 2020 :urcall=........ 0x00a0: 3a72 7074 313d 4a50 3159 4a51 2041 3a72 :rpt1=JP1YJQ.A:r 0x00b0: 7074 323d 2020 2020 2020 2020 3a6d 7367 pt2=........:msg 0x00c0: 3d55 7365 7220 7570 6461 7465 3a64 706c =User.update:dpl 0x00d0: 7573 us +g2g1_grep.sh (2011 12/30 ) #!/bin/bash while : do FLAG=`/usr/sbin/tcpdump -vv dst host 64.22.115.235 -nXs 800 -c 1` FLAG=`/usr/sbin/tcpdump -vv dst host xx.xx.xxx.xxx -nXs 800 -c 1` echo "$FLAG" DISCO=`echo "$FLAG" | grep -e "disconne"` URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b60-69` TYPE=`echo "$FLAG" | grep -e "type" | cut -b62-67` echo "$TYPE" if test "$DISCO" = "" && test "$URCALL" = "........"; then date >> log01 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 "pt1=" | 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 "pt1=" | cut -b59-66` RPT2=`echo "$FLAG" | grep -e "pt2=" | cut -b57-64` fi date; echo "$MYCALL"; echo "$URCALL"; echo "$RPT1"; echo "$RPT2" DT=`date` echo $DT $MYCALL $URCALL $RPT1 $RPT2 >>trace.log 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 "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 10 /dstar/exec-gw sleep 600 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 30 echo "Linking REF008 A REF008 B" echo "Linking REFxxx A REFxxx B" /root/lkref08 fi fi FLAG="" done +g2g1_grep.sh (2012 1/1)((trace.log に記録するtimingを1分以内同じframeは記録しないようにした)) #!/bin/bash while : do FLAG=`/usr/sbin/tcpdump -vv dst host 64.22.115.235 -nXs 1000 -c 1` FLAG=`/usr/sbin/tcpdump -vv dst host xx.xx.xxx.xxx -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 date >> log01 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 # date; echo "$MYCALL"; echo "$URCALL"; echo "$RPT1"; echo "$RPT2" 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 ###### go to G1 ###### 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 10 /dstar/exec-gw sleep 600 ###### go to G2 ###### 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 30 echo "Linking REF008 A REF008 B" echo "Linking REFxxx A REFxxx B" /root/lkref08 fi fi fi FLAG="" done #clear #comment #navi(日記) |