OVISLINK
Skriptiky/Watchdogy
Firmware pro Watchdog
1)Stáhněte firmware z http://igw.hkfree.org/download/1.02G-rmk4.bin
Je to ten firmware s telnetem.
Nahrajte ho na svůj ovislink a přihlašte se do něj
2) nahrajte pomoci www rozhrani ovise tento firmware do ovise. Ovis by si mel zachovat puvodni nastaveni
3) po rebootu ovise musite diky chybe pockat 10-15 min nez vyprsi time out u ntpd daemona
4) po preckani bodu 3 bude ovislink opet pristupny pres www.
5) prihlaste se telnetem na ovise. (telnet 10.107.x.x). Jako jmeno a heslo zadejte root
Watchdog pro klienta
1) vytvořím soubor /etc/linktest :
#!/bin/sh /bin/ping -c 10 10.107.27.1| grep time | wc | while read A1 A2 A3 ; do if [ $A1 = 0 ] ; then sleep 30 /bin/ping -c 10 10.107.27.1| grep time | wc | while read A1 A2 A3 ; do if [ $A1 = 0 ] ; then reboot fi done fi done
2) příkazem chmod nastavím /etc/linktest jako executable
chmod 777 /etc/linktest
3) spuštení cronu - dávám to do /etc/init.d/net.sh - přidám řádek
crond -c /etc/init.d
4) vytvorim soubor /etc/init.d/root :
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /etc/linktest
a pak samozřejmě
saveconfig
Tento watchdog na news zveřejnil Tomáš Vondra
Watchdog pro AP
Ani ne jako watchdog je tento návod spíše automatickým resetátorem, osvědčil se, jelikož ovislink má ve zvyku se občas zasekávat, nebo ztrácet pakety, což tento resetátor omezuje na minimum. Za 3 týdny co běží na našem AP se ovislink ani jednou nezasekl a ani jednou nikdo nehlásil packet loss způsobený lagem ovislinku.
vytvoříme adresář cron a v něm soubor root:
mkdir /etc/cron vi /etc/cron/root
do toho souboru napište toto :
0 3 * * * /sbin/reboot
znamená to že 3 hodiny 0 minut po startu ovise proběhne příkaz reboot ovšem za předpokladu že jste podle návodu vypnuly NTP démona
dále napište :
vi /etc/init.d/rcS
do tohoto souboru napište pod :
echo -n "dnscache " /etc/init.d/dnscache.sh
tyto 2 řádky :
# cron /usr/sbin/crond -c /etc/cron
dále napište příkazy :
saveconfig reboot
a je to hotovo, interval resetování si samozřejmě upravte podle sebe
ještě přidám návod jak zobrazovat čas příštího resetu na www kde je php a ftp postupoval jsem takhle:
do /etc/cron/root jsem dopsal tenhle řádek:
* * * * * /etc/uptim
znamená to že se každou minutu spustí soubor /etc/uptim a jeho obsah je následující (vytvořte také pomocí editoru vi):
#!/bin/sh cd /root /usr/bin/uptime > /root/uptime /usr/bin/ftpput 10.107.17.129 -v --user=*** --pass=*** up ./uptime > /root/error
znamená to že ovis vytvoří soubor s uptimem a pošle ho přes ftp na váš router do složky /home/***/up (hvězdičky jsou za uživatelské jméno).. tu nezapomeňte vytvořit a do té složky pošle soubor /root/uptime a vytvoří takový provizorní log /root/error
nezapomeňte na :
saveconfig reboot
na routeru pak zeditujte /etc/crontab asi takhle:
* * * * * root cp /home/***/up/uptime /var/www/uptime
a potom si v adresáři /var/www vytvořte soubor uptime.php a do něj napište toto:
<?php $filename = "/var/www/uptime"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); $upe=explode("up", $contents); $upti=explode("min", $upe[1]); $uptit=explode(",", $upti[0]); $uptime=$uptit[0]; echo "Ovislink bezi uz : " . $uptime . " minut
"; echo "Reset probehne pri 3 hodine"; fclose($handle); ?>
no a pak si do webbrowseru napište http://***.***.***.***/uptime.php a je to