每 10 分钟,ping google 超时 2 秒,并且仅来自您的“固定”连接(不是 3G 连接)(使用-I标志)。
如果 ping 成功,并且您在固定连接上,则什么也不做。
如果您使用 3G 并且通过固定连接的 ping 正常,请取下 3G 适配器。
如果失败,请调出 3G 适配器。
这是我的快速尝试:
#! /bin/bash
CONNECTION=1
main()
{
if ping -q -c 1 -w 1 -I eth0 google.com > /dev/null ; then
echo "Connection is ok!"
if [ $CONNECTION -eq 0 ] ; then
# take the 3g connection down
ifconfig 3GADAPTERNAME down
CONNECTION=1
fi
else
echo "Connection is dead! Long live the connection!"
if [ $CONNECTION -eq 1 ] ; then
# turn the 3g connection on
ifconfig 3GADAPTERNAME up
CONNECTION=0
fi
fi
sleep 5
main
}
main
我不确定是否有任何东西可以为你做到这一点......但是,你可以通过一些脚本,一些谷歌搜索,拼凑一个脚本:
-I
标志)。这是我的快速尝试:
显然替换
3GADAPTERNAME
为您的适配器的名称。eth0
如果您的主连接不同,请关闭。确保它被设置为自动连接(所以当它被允许时,它会这样做)。该脚本需要以 root 身份运行。