如果 eth0 是 down/up,如何发送不同的 SNMP 陷阱?

How to send different SNMP Traps if eth0 is down/up?

我想要 运行 一个脚本来检查我的网络接口是否是 up/down。如果正常则发送一个 SNMP Trap,如果正常则发送另一个。

ip a ||    
while read LINE; do    
  if [[ $LINE == *"2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000"* ]]; then    
    TRAP 1    
  else    
    TRAP 2

你有什么建议吗?

您可以尝试这样的操作:

while [ 1 ]; do                                                                  
    sleep 1                                                                      
    IS_UP=$(ip a | grep "IFACE:" | grep "state UP")                              
    if [ "${IS_UP}x" == "x" ]; then                                              
        TRAP 2                                                              
    else                                                                         
        TRAP 1                                                              
    fi                                                                           
done 

将 IFACE 替换为您感兴趣的界面。希望这可以帮助! :)