监控甜糖上传流量解决突然没上传速度
这今天发现甜糖总是莫名奇妙的无上传速度,也没找到什么问题,就临时搞了个监控脚本,监控网卡的上传速度,如果上传速度太低就kill掉ipes进程,让它自动恢复,恢复后甜糖马上就恢复了正常上传速度。
#!/bin/bash
# 监控网卡流量,并输出到日志文件中
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:~/bin
export LANG=en
PATH_DIR="/usr/killttnodelog/$(date +%F)"
# 日志文件名称
FILE_NAME="$(date +%F).log"
# 监控的网卡名称
NET_NAME="eth0"
THRESHOLD=100 # KB/s
[ -d "$PATH_DIR" ] || mkdir -p "$PATH_DIR"
while true; do
date +"%H:%M" >> "$PATH_DIR/$FILE_NAME"
# 监控的网卡名称DEV 1 30 输出30秒内平均上传速度
netinfo=$(sar -n DEV 1 30 | grep -i average | grep "$NET_NAME" | awk '{print $6}')
echo "$NET_NAME 上传流量:$(echo $netinfo | cut -d':' -f2)KB/s" >> "$PATH_DIR/$FILE_NAME"
# 检查流量是否低于阈值
if (( $(echo "$netinfo < $THRESHOLD" | bc -l) )); then
echo "由于上传流量低,终止了 ipes 进程" >> "$PATH_DIR/$FILE_NAME"
killall ipes
else
echo "上传流量正常" >> "$PATH_DIR/$FILE_NAME"
fi
echo '#########################' >> "$PATH_DIR/$FILE_NAME"
sleep 60 # 添加适当的延迟,以避免过度占用CPU
done
设置cron任务:将上述脚本保存为一个文件并去掉循环语句,例如nctoro.com.sh,并赋予执行权限:
chmod +x nctoro.com.sh
然后,编辑crontab文件来添加一个定时任务:
crontab -e
添加以下行,假设每5分钟检查一次:
*/5 * * * * /path/to/nctoro.com.sh
这里,*/5表示每5分钟,* * * * *是时间占位符,分别对应分钟、小时、日期、月份和星期几
请将/path/to/nctoro.com.sh替换为你的脚本实际路径。
展开全文
发表评论