linux - 如果 eth0 关闭/启动,如何发送不同的 SNMP 陷阱?

标签 linux bash scripting snmp

我想运行一个脚本来检查我的网络接口(interface)是否打开/关闭。如果正常则发送一个 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 替换为您感兴趣的界面。希望这可以帮助! :)

关于linux - 如果 eth0 关闭/启动,如何发送不同的 SNMP 陷阱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043839/

相关文章:

linux - 通过元层覆盖 Yocto 类

bash - 在终端中格式化输出,删除空行并转换逗号

bash - 从 bash 到 `function` 的 fish shell 和执行程序

适用于 Linux 的 Python 前端 GUI

linux - 从 Linux 服务器向 Google Cloud Platform 进行身份验证

linux - 使用 "GetHostEntry"参数调用 "1"的异常 : "No such device or address"

python - 在服务器上运行Python脚本(是否必须在/cgi-bin/中)?

azure - 在 powershell 脚本中加密 Azure 存储帐户 key

linux - 使用 PHP 将 .wma 转换为 .flac?可能的?

bash - 在 for 循环中迭代有序路径变量