2018-03-05 20:28:53 +01:00
|
|
|
#!/bin/bash
|
|
|
|
#empfaenger="+491608271789"
|
|
|
|
|
|
|
|
|
|
|
|
#function send_message () {
|
|
|
|
# #echo "Message: $1"
|
|
|
|
# for telefon in $empfaenger
|
|
|
|
# do
|
|
|
|
# echo -e "$1" | signal-cli -u +4915223927526 send $telefon
|
|
|
|
## echo "echo -e \"$1\" \| signal-cli -u +4915223927526 send $telefon"
|
|
|
|
## echo "signal-cli -u +4915223927526 send -m \"$1\" $telefon"
|
|
|
|
# done
|
|
|
|
#}
|
|
|
|
function send_message() {
|
2018-03-05 22:02:16 +01:00
|
|
|
PUSHOVERMESSAGE="$1"
|
2018-03-05 20:28:53 +01:00
|
|
|
|
2018-03-05 22:02:16 +01:00
|
|
|
curl \
|
|
|
|
`#--silent# ` \
|
|
|
|
`#--insecure --proxy "$CURLPROXY" ` \
|
|
|
|
--form-string "token=a5ju5wf34goaqr4juzpeuf2v4iuf4b" \
|
|
|
|
--form-string "user=u44drxvefhqrehxid8f131d9v5nit4" \
|
|
|
|
--form-string "message=$PUSHOVERMESSAGE" \
|
|
|
|
--form-string "title=Gateway Status" \
|
|
|
|
--form-string "priority=" \
|
|
|
|
--form-string "device=" \
|
|
|
|
https://api.pushover.net/1/messages.json
|
2018-03-05 20:28:53 +01:00
|
|
|
}
|
|
|
|
|
2018-03-05 22:02:16 +01:00
|
|
|
fehlermeldung="$(hostname)"
|
2018-03-05 20:28:53 +01:00
|
|
|
|
2018-03-05 22:17:06 +01:00
|
|
|
########################################################
|
|
|
|
# ping-Tests
|
|
|
|
|
2018-03-05 20:28:53 +01:00
|
|
|
#Mullvad test
|
|
|
|
if ! ping -c 4 -I mullvad 8.8.8.8 > /dev/null 2>&1
|
|
|
|
then
|
2018-03-05 21:09:12 +01:00
|
|
|
echo "Mullvad-Tunnel broken"
|
2018-03-05 20:28:53 +01:00
|
|
|
fehler=1
|
2018-03-05 22:02:16 +01:00
|
|
|
fehlermeldung="$fehlermeldung\nMullvad-Tunnel broken"
|
2018-03-05 21:09:12 +01:00
|
|
|
else
|
|
|
|
echo "OK"
|
2018-03-05 20:28:53 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
#fff-has test
|
|
|
|
if ! ping -c 4 -I fff-has 10.50.252.158 > /dev/null 2>&1
|
|
|
|
then
|
2018-03-05 21:09:12 +01:00
|
|
|
echo "GRE fff-has broken"
|
2018-03-05 20:28:53 +01:00
|
|
|
fehler=1
|
2018-03-05 22:02:16 +01:00
|
|
|
fehlermeldung="$fehlermeldung\nGRE-Tunnel: fff-has broken"
|
2018-03-05 21:09:12 +01:00
|
|
|
else
|
|
|
|
echo "OK"
|
2018-03-05 20:28:53 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if ! ping -c 4 -I fff-has2 10.50.252.160 > /dev/null 2>&1
|
|
|
|
then
|
2018-03-05 21:09:12 +01:00
|
|
|
echo "GRE fff-has2 broken"
|
2018-03-05 20:28:53 +01:00
|
|
|
fehler=1
|
2018-03-05 22:02:16 +01:00
|
|
|
fehlermeldung="$fehlermeldung\nGRE-Tunnel: fff-has2 broken"
|
2018-03-05 21:09:12 +01:00
|
|
|
else
|
|
|
|
echo "OK"
|
2018-03-05 20:28:53 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if ! ping -c 4 -I fff-wue1 10.50.252.164 > /dev/null 2>&1
|
|
|
|
then
|
2018-03-05 21:09:12 +01:00
|
|
|
echo "GRE fff-wue1 broken"
|
2018-03-05 20:28:53 +01:00
|
|
|
fehler=1
|
2018-03-05 22:02:16 +01:00
|
|
|
fehlermeldung="$fehlermeldung\nGRE-Tunnel: fff-wue1 broken"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2018-03-05 22:17:06 +01:00
|
|
|
########################################################
|
|
|
|
# batctl Version test
|
|
|
|
|
2018-03-05 22:02:16 +01:00
|
|
|
if [ ! "$(batctl -v | awk '{print $2}')" = "2013.4.0" ]
|
|
|
|
then
|
|
|
|
echo "batctl: Version falsch"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nbatctl: Version falsch"
|
2018-03-05 21:09:12 +01:00
|
|
|
else
|
|
|
|
echo "OK"
|
2018-03-05 20:28:53 +01:00
|
|
|
fi
|
|
|
|
|
2018-03-05 22:15:05 +01:00
|
|
|
########################################################
|
|
|
|
# Daemons test
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed fastd.service > /dev/null 2>&1
|
2018-03-05 22:26:44 +01:00
|
|
|
then
|
|
|
|
echo "fastd läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nfastd: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed babeld.service > /dev/null 2>&1
|
2018-03-05 22:25:42 +01:00
|
|
|
then
|
|
|
|
echo "babeld läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nbabeld: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed babelweb.service > /dev/null 2>&1
|
2018-03-05 22:25:42 +01:00
|
|
|
then
|
|
|
|
echo "babelweb läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nbabelweb: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed vnstat.service > /dev/null 2>&1
|
2018-03-05 22:28:10 +01:00
|
|
|
then
|
|
|
|
echo "vnstat läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nvnstat: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed isc-dhcp-server.service > /dev/null 2>&1
|
2018-03-05 22:15:05 +01:00
|
|
|
then
|
|
|
|
echo "dhcp-Server läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nisc-dhcp-server: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
2018-03-05 20:28:53 +01:00
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed bind9.service > /dev/null 2>&1
|
2018-03-05 22:19:29 +01:00
|
|
|
then
|
|
|
|
echo "bind9 läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nbind9: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed apache2.service > /dev/null 2>&1
|
2018-03-05 22:20:30 +01:00
|
|
|
then
|
|
|
|
echo "apache2 läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\napache2: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:30:05 +01:00
|
|
|
if systemctl is-failed openvpn.service > /dev/null 2>&1
|
2018-03-05 22:24:23 +01:00
|
|
|
then
|
|
|
|
echo "openvpn läuft nicht"
|
|
|
|
fehler=1
|
|
|
|
fehlermeldung="$fehlermeldung\nopenvpn: not active"
|
|
|
|
else
|
|
|
|
echo "OK"
|
|
|
|
fi
|
|
|
|
|
2018-03-05 22:17:06 +01:00
|
|
|
########################################################
|
|
|
|
# Auswertung und Benachrichtigung
|
|
|
|
|
2018-03-05 20:28:53 +01:00
|
|
|
if [ "$fehler" = "1" ]
|
|
|
|
then
|
2018-03-05 21:31:02 +01:00
|
|
|
send_message "$(echo -e $fehlermeldung)"
|
2018-03-05 20:28:53 +01:00
|
|
|
fi
|