#!/bin/bash #Variablen iam=$(/bin/hostname) BATCTL=/usr/local/sbin/batctl SN1=troisdorf5 SN2=troisdorf6 if [ $iam == troisdorf5 ] then my_SN_IP=185.66.193.105 other_SN_IP=185.66.193.106 else my_SN_IP=185.66.193.106 other_SN_IP=185.66.193.105 fi #Auf 1 setzen um Lastverteilung 1/2 Monat einzuschalten loadbalance=0 #Default Supernode if loadbalance=0 active_SN=$SN2 day=$(date +%d) if [ $loadbalance == 1 ] then if [ $day -gt 15 ] then active_SN=$SN1 fi fi #Check other Supernode if [ $iam != $active_SN ] then ping -q -c5 $other_SN_IP -I eth0 > /dev/null if [ $? -eq 0 ] then echo "Active Supernode is running" $BATCTL gw off /usr/sbin/service bird6 stop /usr/sbin/service bird stop /usr/sbin/service tunneldigger stop /usr/sbin/service radvd stop else echo "First Supernode not running, activating backup Supernode" $BATCTL gw server 100Mbit/100Mbit /usr/sbin/service bird6 start /usr/sbin/service bird start /usr/sbin/service tunneldigger start /usr/sbin/service radvd start curl -X POST --data-urlencode 'payload={"text": "Aktiver Supernode nicht pingbar. {{ sn_hostname }} eingeschaltet", "channel": "#technik", "username": "{{ sn_hostname }}", "icon_emoji": ":warning:"}' https://hooks.slack.com/services/{{ slack_token }} fi else # Check this Supernode ping -q -c5 $my_SN_IP -I eth0 > /dev/null if [ $? -eq 0 ] then echo "Supernode ok" $BATCTL gw server 100Mbit/100Mbit /usr/sbin/service bird6 start /usr/sbin/service bird start /usr/sbin/service tunneldigger start /usr/sbin/service radvd start else echo "Supernode nicht pingbar" $BATCTL gw off /usr/sbin/service bird6 start /usr/sbin/service bird start /usr/sbin/service tunneldigger start /usr/sbin/service radvd start curl -X POST --data-urlencode 'payload={"text": "{{ sn_hostname }} nicht pingbar. services auf {{ sn_hostname }} neu gestartet", "channel": "#technik", "username": "{{ sn_hostname }}", "icon_emoji": ":warning:"}' https://hooks.slack.com/services/{{ slack_token }} fi fi