Linux_Openwrt _5G CPE(R500QGL) 路由狗,断网自动重启脚本
63

路由器:xiaomi r3G

固件:openwrt

5G模块:移远RM500Q-GL

问题:CPE模块出现假死,断网

1.创建脚本

mkdir /root/network_watchdog.sh
vim /root/network_watchdog.sh

2.编辑bash脚本

#!/bin/sh

# 定义日志文件路径

LOGFILE="/tmp/network_watchdog.log"
MAX_LOG_SIZE=10485760  # 10MB

# 记录当前时间到日志

echo "$(date): 检查网络连接..." >> "$LOGFILE"

# 检查日志文件大小,如果大于10MB,则清空日志文件

if [ -f "$LOGFILE" ]; then
  LOGSIZE=$(wc -c < "$LOGFILE")
  if [ "$LOGSIZE" -ge "$MAX_LOG_SIZE" ]; then
    echo "$(date): 日志文件超过10MB,清空日志文件..." > "$LOGFILE"
  fi
else

  # 创建日志文件

  touch "$LOGFILE"
fi

# Ping某个地址,检查网络连接状态
路由器:xiaomi r3G 

固件:openwrt

问题:CPE模块出现假死,断网



1.创建脚本

mkdir /root/network_watchdog.sh
vim /root/network_watchdog.sh

2.编辑bash脚本

#!/bin/sh

# 定义日志文件路径

LOGFILE="/tmp/network_watchdog.log"
MAX_LOG_SIZE=10485760  # 10MB

# 记录当前时间到日志

echo "$(date): 检查网络连接..." >> "$LOGFILE"

# 检查日志文件大小,如果大于10MB,则清空日志文件

if [ -f "$LOGFILE" ]; then
  LOGSIZE=$(wc -c < "$LOGFILE")
  if [ "$LOGSIZE" -ge "$MAX_LOG_SIZE" ]; then
    echo "$(date): 日志文件超过10MB,清空日志文件..." > "$LOGFILE"
  fi
else

  # 创建日志文件

  touch "$LOGFILE"
fi

# Ping某个地址,检查网络连接状态

ping -c 1 223.5.5.5 > /dev/null 2>&1

# 如果ping失败,表示网络连接中断

if [ $? -ne 0 ]; then
  echo "$(date): 网络中断,重启所有 /dev/ttyUSB* 设备..." >> "$LOGFILE"
  for device in /dev/ttyUSB*; do
    if [ -e "$device" ]; then
      echo "$(date): 重启设备 $device" >> "$LOGFILE"
      echo -e "AT+CFUN=0\r" > "$device"
      sleep 2
      echo -e "AT+CFUN=1\r" > "$device"
      sleep 2
      echo "$(date): $device 重启完成。" >> "$LOGFILE"
    else
      echo "$(date): 设备 $device 不存在。" >> "$LOGFILE"
    fi
  done
  echo "$(date): 所有 /dev/ttyUSB* 设备已重启。" >> "$LOGFILE"
else
  echo "$(date): 网络正常。" >> "$LOGFILE"
fi



脚本的运行原理如下:

变量定义:设置日志文件路径和最大大小(10MB)。

日志记录:记录当前时间和检查网络的信息。

文件大小检查:如果日志文件存在且超出10MB,则清空;如果不存在,则创建新文件。

网络检查:使用ping命令检测网络连接。如果失败,记录信息并重启所有/dev/ttyUSB*设备。

设备重启:对每个存在的USB设备发送AT命令断开连接并重启,并记录每一步操作。

状态记录:如果网络正常,记录"网络正常"的信息。 该脚本用于监控网络状态,自动重启设备以维持连接稳定。

3.创建运行任务

定时每五分钟运行一次

crontab -e
*/5 * * * * /root/network_watchdog.sh

End

Linux_Openwrt _5G CPE(R500QGL) 路由狗,断网自动重启脚本
http://localhost:8090/archives/linux_openwrt-_5g-cpe-r500qgl-lu-you-gou-duan-wang-zi-dong-chong-qi-jiao-ben
作者
wine
发布于
更新于
许可