Portál AbcLinuxu, 17. prosince 2025 07:10
Nekdy zacit musite:)
Staci treba
ping -c pocet_pokusu monitorovana_ip
Pak z toho treba awkem dostat odezvu, srovnat, jestli je odezva dostatecna a pak zalogovat nebo poslat mailem.
Dalsi moznost je treba Perl..
a na mail mi to posílá zrovna tak.
-c 3" tam mám asi zbytečně. A upravovat zdrojáky pingu kvůli tomu nebudu
No ale man ping napoví, co tam s tím pingem vlastně dělám (a předem upozorňuju, že ne vždy to musí mít logiku - ono se to přeci jen pozná, že je to zbastlené po částech a upravované podle aktuální nálady a rozpoložení), musím taky nechat něco na vás
Celé se to spouští z cronu každých 5 minut.
Jak na to teď koukám, je to docela hrůza, to se zas strhne v diskuzi kritika
Můžete to použít jako inspiraci jak v takovém skriptu postupovat, ne jak psát skripty
#!/bin/bash
exec &> /dev/null
sms_file='/var/watchdog/gymnacel.sms'
email_file='/var/watchdog/gymnacel.email'
if ping -nc 3 -i 5 -q -w 60 194.108.202.x
then
if [ -e $sms_file ]
then
rm $sms_file
echo 'obnoveno' `date` >> /var/log/gymnacel-watchdog.log
fi
else
if [ ! -e $sms_file ]
then
echo 'vypadek' `date` >> /var/log/gymnacel-watchdog.log
echo 'From: barbucha@example.com' > $email_file
echo 'Subject: gymnacel nepristupne ' `date` >> $email_file
echo '' >> $email_file
echo 'From: barbucha@example.com' > $sms_file
echo 'Subject: gymnacel nepristupne ' `date` >> $sms_file
echo '' >> $sms_file
ping -nc 1 194.108.202.x >> $email_file || echo '194.108.202.2 selhal' >> $sms_file
ping -nc 1 194.108.129.x>> $email_file || echo '194.108.129.153 selhal' >> $sms_file
sendmail -f 'me@example.com' 'me@example.com' < $email_file
sendmail -f 'me@example.com' 'me@mujoskar.cz' < $sms_file
fi
fi
echo '194.108.129.153 selhal'
Zrádné echo 
Původně jsem tam ty adresy chtěl nechat všechny, stejně je to jedno, ale pak jsem si říkal, že ušetřím práci spambotůmecho '194.108.129.153 selhal'Zrádné echo
No nic, tak příště
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.