NoPaste

Gateway Failover Script + zurück

von wortmann
SNIPPET_DESC:
Gateway Failover Script + zurück
SNIPPET_CREATION_TIME:
11.03.2023 17:20:58
SNIPPET_PRUNE_TIME:
Unendlich

SNIPPET_TEXT:
  1. CONT=10
  2. WAIT=5
  3. HOST=8.8.8.8
  4. LMAC=AA:BB:CC:DD:EE:FF
  5. FMAC=GG:HH:II:JJ:KK:LL
  6. CONFLTE=/root/etc/netplan/00-installer-config.yaml.lte
  7. CONFFTTH=/root/etc/netplan/00-installer-config.yaml.ftth
  8. USECONF=/etc/netplan/00-installer-config.yaml
  9. LOGFILE=/root/etc/checkgw.log
  10. LOGFILE2=/root/etc/checkgw.log2
  11. GWMASTER=192.168.174.6
  12. GWBACKUP=192.168.174.3
  13. MAILTO=admin@localhost
  14. ip route | grep default > $LOGFILE2
  15. while read -r R1 R2 R3 R4;
  16. do
  17.         if [ $R3 = $GWBACKUP ]
  18.            then  nping --icmp --dest-mac $FMAC $HOST > $LOGFILE
  19.                  while read -r N1 N2 N3 N4 N5 N6;
  20.                  do
  21.                    if [ "$N1" = 'Max' ]
  22.                       then if [ $N3 = 'N/A' ]
  23.                               then echo 'No connection over FTTH'
  24.                               else cp  $CONFFTTH $USECONF
  25.                                    /usr/sbin/netplan apply
  26.                                    echo 'Switched to Master'
  27.                                    mail -s 'Switch to Master' $MAILTO </root/bin/msgmaster.txt
  28.                            fi
  29.                     fi;
  30.                   done <$LOGFILE
  31.  
  32.            else echo 'on Masterroute'
  33.         fi
  34. done <$LOGFILE2
  35. ping -c $CONT -W $WAIT $HOST  >/dev/null 2>&1
  36. if [ $? = 0 ]
  37.     then echo 'Gatewy is functional.'
  38.          exit 1
  39.     else nping --icmp --dest-mac $LMAC $HOST > $LOGFILE
  40.          while read -r N1 N2 N3 N4 N5 N6;
  41.          do
  42.            if [ "$N1" = 'Max' ]
  43.               then if [ $N3 = 'N/A' ]
  44.                       then echo 'No connection over LTE'
  45.                       else cp  $CONFLTE $USECONF
  46.                            /usr/sbin/netplan apply
  47.                            echo 'Switched to Backup'
  48.                            mail -s 'Switches to Backup' $MAILTO </root/bin/msgbackup.txt
  49.                    fi
  50.            fi;
  51.          done <$LOGFILE
  52. fi
  53. exit 0

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN