| 
 | 
用的vnstat 
 
- #!/bin/bash
 
  
- # 获取TX数据量的单位
 
 - unit=$(vnstat --oneline | awk -F ';' '{print substr($10, length($10)-2, length($10))}')
 
  
- # 判断单位是否为GiB
 
 - if [ "$unit" = "GiB" ]; then
 
 -     # 获取TX数据量
 
 -     tx_data=$(vnstat --oneline | awk -F ';' '{print substr($10, 1, length($10)-4)}')
 
 -     # 获取RX数据量
 
 -     rx_data=$(vnstat --oneline | awk -F ';' '{print substr($9, 1, length($9)-4)}')
 
  
-     # 获取TX和RX中的最大值
 
 -     max_data=$(echo "$tx_data $rx_data" | awk '{if ($1>$2) print $1; else print $2}')
 
  
-     # 判断最大值是否大于等于阈值
 
 -     if (( $(echo "$max_data >= 180" | bc -l) )); then
 
 -         # 如果大于等于阈值,执行脚本
 
 -         bash /root/tc.sh && curl -k --data chat_id="xxx" --data "text=Aliyun流量阈值提醒" "https://api.telegram.org/botxxxx/sendMessage"
 
 -     else
 
 -         # 如果小于阈值,不执行任何操作
 
 -         echo "入站:$rx_data GiB,出站:$tx_data GiB,最大数据量:$max_data GiB,小于阈值,忽略"
 
 -     fi
 
 - else
 
 -     # 如果单位不是GiB,忽略
 
 -     echo "单位不是GiB,忽略"
 
 - fi
 
  复制代码 
 |   
 
 
 
 |