trelowney.net

20Bře/110

Mikrotik script – sirena

Kdysi jsem našel script na sirénu v případě nefunkčnosti dané IP adresy a používal ho na stařičkém RB532, který používám na 2,4GHz po bytě a testování scriptů. Pokud by se někomu hodil, je zde:

 

:for c from=1 to=50 step=1 \

do={ \
:set i 15
:set x 1900

:do {\
:beep length=400ms frequency=$x; :delay 25ms
:set i ($i – 1);
:set x ($x +35)

} \
while (($i <16) && ($i >0))
:beep length=0 frequency=0
}

 

Pokud chcete monitorovat IP adresu na ping, je na to asi nejvhodnější netwach, kde se zadá při spadnutí script sirény a např. v případě, že se zařízení probudí, tak script se sirénou (ať už frekvencí či rychlostí) zase jiný..

19Bře/110

Script na restart vserveru pipni

Pokud mate moznost pristupu k jinemu serveru/vserveru, kde je mozne script spoustet, je to nejidealnejsi varianta. Jak v pripade vypadku vserveru (ovsem ne celeho serveru) virtual zrestartovat. Script se pripoji na webove rozhrani (je nutnost znat udaje) a server zrestartuje.

Primo script vypada takto, upravuje se tam jen par udaju, jinak vse ostatni zustava :)

#! /bin/bash

HUSER=nejakyuzivatel // zde si vyplnte sve uzivatelske jmeno do administrace vserveru
HPASSW=nejakeheslo // zde si vyplnte sve heslo do administrace vserveru
VSERVER=nejakyserver.vserver.cz // zde se vyplni adresa vaseho vserveru
MANSERVER=https://vserver.pipni.cz // na jake URL se nachazi administrace - nemenit

date >> /var/www/monitoring.no-ips.org/web/pipnivs.log // do jakeho souboru se ma ulozit datum kontroly stavu - doplnte si jakoukoliv cestu, kde chcete mit log, ja jej mam nastaveny tak, aby se mi ukladal do adresare s monitoringem a bylo mozno jej zobrazit primo pres web
if ping -W30 -c 1 $VSERVER > /dev/null 2>&1; then
# logger -t VSERVER "Vserver OK"
echo "Vserver OK" >> /var/www/monitoring.no-ips.org/web/pipnivs.log // stejne jako vyse, akorat s tim, ze zapise, ze vserver je OK hned pod datum
else
# logger -t VSERVER "Vserver down, restartuji"
echo "Vserver down, restartuji" >> /var/www/monitoring.no-ips.org/web/pipnivs.log // stejne jako vyse, akorat s tim, ze zapise, ze vserver je down a snazi se restartovat
wget -o /dev/null -O /dev/null --no-check-certificate --http-user=$HUSER --http-password=$HPASSW $MANSERVER/?akce=stop#akce0 > /dev/null 2>&1 &&
sleep 15 &&
if wget -o /dev/null -O /dev/null --no-check-certificate --http-user=$HUSER --http-password=$HPASSW $MANSERVER/?akce=stop#akce1 > /dev/null 2>&1 &&
sleep 15 &&
wget -o /dev/null -O /dev/null --no-check-certificate --http-user=$HUSER --http-password=$HPASSW $MANSERVER/?akce=start#akce1 > /dev/null 2>&1; then
# logger -t VSERVER "Vserver restartovan"
echo "Vserver restartovan" >> /var/www/monitoring.no-ips.org/web/pipnivs.log // stejne jako vyse, akorat s tim, ze navic zapise, ze vserver byl uspesne restartovan
else
# logger -t VSERVER "Vserver nelze restartovat, mrkni na to"
echo "Vserver nelze zrestartovat, mrkni na to" >> /var/www/monitoring.no-ips.org/web/pipnivs.log // pokud nebyl vserver restartovan, zapise, ze se nepovedlo misto uspesneho restartu
fi
fi

Script ulozime napr. v /etc/init.d/pipnivs.
Script funguje tak, ze zkusi ping na server, pokud funguje, zapise, ze je vse OK. Pokud ping nefunguje, pokusi se pripojit do administrace vserveru a zrestartovat jej, pokud se povede, zapise, ze se povedlo, pokud ne, zapise, ze ne.. Pokud logovat nechcete, staci to odkrizkovat a je to.. Aby to bylo efektivni, je nutne to spoustet casto, nejlepe cronem, do crontab staci pridat toto:

00 * * * * root /etc/init.d/pipnivs

Podle tohoto prikladu se script spousti pod rootem a to kazdou hodinu v celou..

Pokud jsou nejake dotazy, nevahejte se ptat..