|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/11898cb019d3f.html, оценка из 5, голосов 10
|