29 lines
792 B
Bash
Executable File
29 lines
792 B
Bash
Executable File
#!/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
|