Watchdog na routovaci tabulku
Verze z 19. 8. 2005, 19:29, kterou vytvořil VojtaLhota (diskuse | příspěvky)
Občas se na routerech stává, se zasekne proces zebra a/nebo ospfd. Normální routovací tabulka v hkfree mívá okolo 380 položek (srpen 2005). Zaseknutí zebry se projeví (kromě nefunkčnosti sítě/internetu okolo vašeho routeru) tak, že má najednou routovací tabulka pouze několik málo řádků (5-20 dle konfigurace) i přesto, že procesy běží (jsou vidět v ps) a na portech 2601 resp 2604 komunikují. Právě tohoto jevu využívá můj skript, který oba procesy zrestartuje. Je třeba ho spouštět 1x za několik minut (navrhuji 3 minuty) pomocí cronu.
Do /etc/crontab vložíme řádek:
*/3 * * * * root /usr/local/bin/routedog.sh
Vlastní skript (/usr/local/bin/routedog.sh)
#!/bin/sh # Skript na hlidani zebry+ospfd # VojtaLhota pro HKfree.org, 8/2005 # # Spoustet z /etc/crontab kazdych 5 minut takto: # "*/3 * * * * root /usr/local/bin/routedog.sh" # # Pokud routovaci tabulka obsahuje prilis malo zaznamu, # svedci to o tom, ze se vnitrne zaseklo ospfd, nebo nebezi vubec. # # srpen 2005 - v routovacich tabulkach HKfree je cca 380 radku. # Jako limit volim pouze 50, abych zbytecne nerestartoval kdyz se opravdu # rozpadne sit. # POLOZEK="`cat /proc/net/route | wc -l | sed s/[^0-9]//`" LIMIT=500 if [ $POLOZEK -lt $LIMIT ] then logger "$0: Routovaci tabulka ma jen $POLOZEK radku, to je mene nez $LIMIT, restartuji procesy: zebra, ospfd." killall ospfd killall zebra sleep 1 zebra -d ospfd -d fi
zveřejnil: VojtaLhota, 19.8.2005