netlog/netlog.sh

29 lines
792 B
Bash
Raw Permalink Normal View History

2024-10-01 17:53:30 +02:00
#!/bin/bash
START_DATE=`date`
mapfile -t ORIGINAL_NETSTATES < <(ip addr | grep " state " | sed -e "s/.* \(.*\):.*state \(.*\) group.*/\1 \2/")
while true; do
sleep 5
mapfile -t NETSTATES < <(ip addr | grep " state " | sed -e "s/.* \(.*\):.*state \(.*\) group.*/\1 \2/")
for (( i=0; i<${#ORIGINAL_NETSTATES[@]}; ++i)); do
for (( j=0; j<${#NETSTATES[@]}; ++j)); do
OLDSTATE=(`echo ${ORIGINAL_NETSTATES[$i]}`)
NEOSTATE=(`echo ${NETSTATES[$j]}`)
if [ ${OLDSTATE[0]} = ${NEOSTATE[0]} ]; then
if [ ${OLDSTATE[1]} = "UP" ]; then
if [ ${NEOSTATE[1]} != "UP" ]; then
# Alert
echo "ALERT"
zenity --error --text='Egy hálózati device leállt!'
fi
fi
echo "Original: ${ORIGINAL_NETSTATES[$i]} Current: ${NETSTATES[$j]}"
fi
done
done
done