In HA-Konfiguration überprüfe ich regelmäßig auf VIP-Adresse auf eth0, (nennen wir es 2.2.2.2). Wenn es nach oben, dann brauche ich eine andere Gruppe von IP-Adresse für eth0 in/etc/network/interfaces Konfigurationsdatei zu öffnen:Bash Grep-Datei für Zeichenfolge und verwenden Sie jede als eine Variable in einem anderen Befehle
up ip addr add **1.2.3.34** dev $IFACE
up ip addr add **1.2.3.40** dev $IFACE
up ip addr add **1.2.3.48** dev $IFACE
und jede IP-Pass nur auf eine andere Gruppe von Befehlen:
ip a a **1.2.3.34/32** dev eth0
ip a a **1.2.3.40/32** dev eth0
ip a a **1.2.3.48/32** dev eth0
Was ich bisher getan ist:
#!/bin/bash
STATUS=$(ip a s eth0 | grep inet | awk '{print $2}' | sed 's/addr://')
if ip a s eth0 | grep inet | awk '{print $2}' | sed 's/addr://' | grep 2.2.2.2/27 ; then
cat /etc/network/interfaces | grep -o "up ip addr add [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" > /tmp/ext_ip.txt
Jetzt brauche ich Hilfe, wie jede Zeile oben (ip aa 1.2.3 ...) erwähnt auf einen anderen Befehl übergeben, haben aber keine Ahnung, wie um das richtig zu machen.
Optional möchte ich den Betrieb rückgängig machen, wenn VIP nicht im System vorhanden ist - falls der primäre HA-Host offline geht.