OVISLINK

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání

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