gweth check

gweth check

 

# Start
/etc/config/ditel_gweth.sh &

# Kill
killall ditel_gweth.sh

 

# Type 9 AnovoSatBox 192.168.0.1

复制代码
#!/bin/sh
#filename: ditel_gweth.sh

GWTYPE=9
GWIP='192.168.0.1'

GWETH='eth0'
GWLOG='/tmp/gweth.log'
PINGOUT='/tmp/ping.out'


#gweth_restart eth0 192.168.0.1 2 10 6
gweth_restart()
{
    ethx=$1
    ipaddr=$2
    timeout=$3
    sum=$4
    min=$5
    sleep 1
    ping $ipaddr -W $timeout -c $sum > $PINGOUT 2>&1
    m=`cat $PINGOUT | grep 'bytes from' | wc -l`
    echo "`date +"%Y/%m/%d %H:%M:%S"` ping test. all = $sum, min = $min, ok = $m." >>$GWLOG 2>&1
    if [ $m -lt $min ]
    then
        ethx=eth0
        ethtool -s $ethx speed 10 duplex half autoneg on > /dev/null 2>&1
        sleep 3
        ethtool -s $ethx speed 100 duplex full autoneg on > /dev/null 2>&1
        sleep 3
        echo "`date +"%Y/%m/%d %H:%M:%S"` $ethx restart" >>$GWLOG 2>&1
        return 1
    else
        echo "`date +"%Y/%m/%d %H:%M:%S"` $ethx health" >>$GWLOG 2>&1
        return 0
    fi
}

### ( Main )

GWTYPE=`uci get Set_Modem_Type.Modem_Type.Modem_Type`
if [ $GWTYPE -eq 9 ]; then
    GWIP=`uci get Set_Modem_Type.Modem_Type.SatBox_Server_IP`
    while true
    do
        sleep 1
        gweth_restart $GWETH $GWIP 2 10 6
        line=`wc -l $GWLOG | cut -d' ' -f1`
        [ $line -gt 20 ] && cat /dev/null > $GWLOG
    done
fi

exit 0

### ( End )
复制代码

 

============ End

 

posted @   lsgxeva  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-12-30 PVID和VID与交换机端口
2019-12-30 vscode c_cpp_properties setting
2019-12-30 VC6.0设定UNICODE编译环境
2019-12-30 VC warning: C4819
2018-12-30 深入理解Java中的String
2018-12-30 Java中字符串string的数据类型
2018-12-30 IDEA设置JVM运行参数
点击右上角即可分享
微信分享提示