我正在尝试监视24/7流。 为此,Iam监视我的树莓的网络速度。
网络速度(以Kbit为单位):
(old="$(</sys/class/net/eth0/statistics/rx_bytes)"; while $(sleep 1); do now=$(</sys/class/net/eth0/statistics/rx_bytes); echo $((($now-$old)/1024)); old=$now; done)
输出单位为Kbit / s:
216
384
288
360
336
360
现在我想使用电报API来触发速度是否下降到100 Kbit / s以下
电报代码:
TELEGRAM=$(curl -s -X POST 'https://api.telegram.org/<BOT ID>:<API KEY>/sendMessage?chat_id=<ID>&text="Stream has problems"')
为此,我需要执行while循环和if条件。
亲切的问候, Goeks1
编辑////
$(old="$(</sys/class/net/eth0/statistics/rx_bytes)"; while $(sleep 1); do now=$(</sys/class/net/eth0/statistics/rx_bytes); if (( (now-old)/1024 < 1000 )); then $TELEGRAM ; fi echo $((($now-$old)/1024)); old=$now; done)
答案 0 :(得分:0)
我已经解决了。解决方案如下。
#!/bin/bash
OLD="$(</sys/class/net/eth0/statistics/rx_bytes)"
i=1
while $(sleep 1m); do
NOW=$(</sys/class/net/eth0/statistics/rx_bytes)
if (( (NOW-OLD)/1024 > 100 )) ; then
remainder=$(( i % 3 ))
[ "$remainder" -eq 0 ] && curl -s -X POST 'https://api.telegram.org/<BOT ID>:<API KEY>/sendMessage?chat_id=<ID>&text="Stream has problems"'
i=$(( i + 1 ))
fi
OLD=$NOW
done