在HA配置中,我定期檢查eth0上的VIP地址(可以稱它爲2.2.2.2)。如果是,那麼我需要調出另一組在/ etc /網絡/接口的配置文件爲eth0定義的IP地址的:Bash grep文件的字符串和使用每個作爲另一個命令中的變量
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
,並通過每個IP只到另一組命令:
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
什麼我迄今所做的是:
#!/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
現在我需要幫助如何通過每條線以上(IP AA 1.2.3 ...)所提及的其他命令,但不知道如何正確地做到這一點。
(可選)如果系統中不存在VIP,則可以選擇恢復操作 - 以防主要HA主機脫機。實現這一