Portál AbcLinuxu, 12. května 2025 13:56
Ř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 0a spouštět to cronem v požadovaném intervalu
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.