|
|
本帖最后由 yoyo1001 于 2024-12-2 21:16 编辑
#!/bin/sh
FLAG_FILE="/tmp/ipv6_prefix_change_flag"
FLAG_VALUE=$(cat $FLAG_FILE 2>/dev/null)
if [ "$FLAG_VALUE" = "1" ]; then
logger -t prefix_change "Script is already running. Skipping execution."
exit 0
fi
echo "1" > $FLAG_FILE
IPV6_DEFAULT_ROUTE=$(ip -6 route | grep default 2>/dev/null)
if [ -z "$IPV6_DEFAULT_ROUTE" ] ; then
logger -t prefix_change "IPv6 route missing detected. Reconnecting wan6 interface."
ifdown wan6
ifup wan6
fi
echo "0" > $FLAG_FILE
把上述代码保存为:check_ipv6.sh
放到某个目录下,比如我放到了/mnt/sata1-4/docker/
终端执行chmod +x /mnt/sata1-4/docker/check_ipv6.sh
计划任务里,每隔4小时执行检查一次
0 */4 * * * /mnt/sata1-4/docker/check_ipv6.sh
重启cron
这个脚本解决了,光猫不自动重新下发ipv6-pd,当openwrt路由器ipv6路由不可达时自动重启wan6接口
|
|