Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Rashid N. Achilov                    2:5020/400     12 Feb 2002  17:13:33
 To : Jen Linkova
 Subject : Re: unmatched ".
 -------------------------------------------------------------------------------- 
 
 Jen Linkova at Tuesday 12 February 2002 17:01 wrote:
 >>> ну где-то лишняя кавычка..А откуда он ее берет - это уж к телепатам.
 >>> Hигде строчки, сожержащие кавычки, не возникают?
 >>> 
 > 
 >> Там им негде возникать. Скрипт проверяет, пингуется ли адрес, и, если 
 
 нет, 
 
 >> переключает default route. И так по обеим каналам. Если уже переключен, 
 
 то 
 
 >> ничего не делает. Когда канал восстанавливается, переключает обратно. 
 
 Если 
 
 >> глючит, то "забывает" вернуть default route и шеф меня будит ночью и 
 >> спрашивает, почему канал не работает...:-(
 > 
 > Hу приведи скрипт-то, и строчку из crontab'a ;-)
 > 
 
 Строчка в другом письме. В ней ничего необычного :-)
 
 Скрипт (адреса поменяны).
 
 Как, однако, полезно, собственные скрипты иногда :-) перечитывать :-)) 
 Вроле бы нашел багу, (когда уже вставил сюда :-)) ) Hо может, кто еще чего 
 присоветует. Задача была при падении канала first автоматически переводить 
 прокси на канал second (полу-, потому что все равно требуется запуск 
 отдельного скрипта на прокси), а при падении second - всех переводить на 
 first (на коотором только прокси). Когда скрипт глючит, то после подьема 
 second default route все ранво остается на first...
 
 Строчки немного поломались...
 
 - --- begin file ifcheck ---
 #!/bin/csh
 # Test external ifaces
 
 # Set path for executable binaries
 set path = (/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin)
 
 # External first interface
 set if_cis = "10.0.0.1"
 
 # External second interface
 set if_rinet = "10.0.1.1"
 
 # Privileged nodes, switchable when CIS down
 set rinet_proxy_node = "10.0.2.1"
 set cis_proxy_node = "10.0.3.1"
 
 # Test second channel
 ping -q -r -c 3 ${if_rinet} >& /dev/null
 set pingstatus = $status
 
 # Channel second has lost
 if ($pingstatus == 2) then
   if ((-e /var/run/cis-default) == 0) then
     route delete default >& /dev/null
     route add default 10.0.0.1 >& /dev/null
     echo "second channel has been LOST! Reset default route to first" | mail
  catpager@granch.ru
     echo "second channel has been LOST! Reset default route to first" | 
 mail 
 -s "second channel LOST, switch to first" root@granch.ru
     logger -i -p daemon.err -t ifcheck second channel has been LOST! Ping 
 status is $pingstatus
     touch /var/run/cis-default
   endif
 
 # Check if software failure
  else if ($pingstatus != 0) then
         logger -i -p daemon.err -t ifcheck Ping unsuccesfully exited, 
 status = $pingstatus
 
 # Check if channel has been restored
        else if (-e /var/run/cis-default) then
               ping -q -r -c 2 ${if_rinet} >& /dev/null
               set pingstatus = $status
 
               if ($pingstatus == 0) then
                 route delete default >& /dev/null
                 route add default 10.0.1.1 >& /dev/null
                 echo "second channel has been restored, return to default 
 route" | mail catpager@granch.ru
                 echo "second channel has been restored, return to default 
 route" | mail -s "second restored, reset route" root@granch.ru
                 logger -i -p daemon.err -t ifcheck second channel has been 
 restored, ping status is $pingstatus
                 rm -f /var/run/cis-default
               endif
             endif
       endif
 endif
 
 # Test first channel
 ping -q -r -c 3 ${if_cis} >& /dev/null
 set pingstatus = $status
 
 if ($pingstatus == 2) then
   if ((-e /var/run/ipfw-fwd-delete) == 0) then
     ipfw del 1220 >& /dev/null
     ipfw del 1225 >& /dev/null
     ipfw add 1225 allow ip from ${rinet_proxy_node} to any >& /dev/null
     echo "first channel has been LOST! Channel privileges have been 
 dropped" | mail catpager
     echo "first channel has been LOST! Channel privileges have been 
 dropped" | mail -s "first channel LOST, drop forwards" 
 shelton@sentry.granch.ru
     logger -i -p daemon.err -t ifcheck first channel has been LOST! Ping 
 status is $pingstatus
     touch /var/run/ipfw-fwd-delete
   endif
 
 # Check if software failure
  else if ($pingstatus != 0) then
         logger -i -p daemon.err -t ifcheck Ping unsuccesfully exited, 
 status = $pingstatus
     touch /var/run/ipfw-fwd-delete
   endif
 
 # Check if software failure
  else if ($pingstatus != 0) then
         logger -i -p daemon.err -t ifcheck Ping unsuccesfully exited, 
 status = $pingstatus
 
 # Check if channel has been restored
        else if (-e /var/run/ipfw-fwd-delete) then
               ping -q -r -c 3 ${if_cis} >& /dev/null
               set pingstatus = $status
 
               if ($pingstatus == 0) then
                 ipfw del 1225 >& /dev/null
                 ipfw add 1220 fwd 10.0.0.1 ip from ${cis_proxy_node} to any 
 out xmit ed2 >& /dev/null
                 ipfw add 1225 allow ip from ${cis_proxy_node} to any 
 
 >&/dev/null
 
                 echo "first channel restored, privileges now up" | mail 
 catpager
                 echo "first channel restored, privileges now up" | mail -s 
 "CIS channel restored, forwards up" shelton@sentry.granch.ru
                 logger -i -p daemon.err -t ifcheck first channel has been 
 restored, ping status is $pingstatus
                 rm -f /var/run/ipfw-fwd-delete
               endif
             endif
       endif
 endif
 - --- end file ifcheck ---
 -- 
    With Best Regards.
    Rashid N. Achilov (RNA1-RIPE), Web: http://granch.ru/~shelton
    Granch Ltd. system administrator, e-mail: achilov@granch.ru
    PGP: 83 CD E2 A7 37 4A D5 81 D6 D6 52 BF C9 2F 85 AF 97 BE CB 0A
 --- ifmail v.2.15dev5
  * Origin: Granch Ltd. (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 unmatched ".   Rashid N. Achilov   12 Feb 2002 13:26:41 
 Re: unmatched ".   Jen Linkova   12 Feb 2002 13:49:54 
 Re: unmatched ".   Rashid N. Achilov   12 Feb 2002 14:03:43 
 Re: unmatched ".   Jen Linkova   12 Feb 2002 15:01:39 
 Re: unmatched ".   Rashid N. Achilov   12 Feb 2002 17:13:33 
 Re: unmatched ".   Rashid N. Achilov   12 Feb 2002 17:19:43 
Архивное /ru.unix.bsd/11898cb019d3f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional