Portál AbcLinuxu, 8. listopadu 2025 22:00
Cokoli najdu je velké a komplikované. Kdysi jsem něco měl, ale nevybavím si to už.
Řešení dotazu:
#!/bin/bash
DELAY=2
HOST=$1
revived() {
echo -n "" ALIVE
play -q /usr/share/sounds/KDE-Im-Error-On-Connection.ogg &
kdialog --passivepopup "$HOST is ALIVE" $DELAY &
}
died() {
echo -n "" DEAD
play -q /usr/share/sounds/KDE-Im-Error-On-Connection.ogg &
kdialog --passivepopup "$HOST is DEAD" $DELAY &
}
prev=-1
while true ; do
ping -c 1 -n -W $DELAY $HOST &> /dev/null
ret=$?
# ozivnul
[ $ret -eq 0 -a $prev -gt 0 ] && revived
# umrel
[ $ret -gt 0 -a $prev -eq 0 ] && died
echo -n "" $ret
sleep $DELAY
prev=$ret
done
#!/bin/bash
ADMIN="muj@mail.cz muj2@mail.cz"
MHOSTNAME="WIDLE"
FROM="pingac@moje.domena.cz"
PINGTO=192.168.1.100
ping -c2 -w7 -q ${PINGTO}
if [ "$?" -ne "0" ]; then
echo "`date '+%F %X' ${MHOSTNAME}` is death" | /usr/bin/mailx \
-s "${MHOSTNAME} is death" -r ${FROM} ${ADMIN}
exit 1
fi
exit 0
a spouštět to cronem v požadovaném intervalu
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.