透过ISP拨pppoe,有时是他是会自己断线的,所以我们通常可以写一个简单的调度,让他例如每分钟跑一次
但事情没那么简单,光检查ppp0有没有连线是不够的,看看我的bash怎么写吧。
调度每分钟跑,像是下方这样
* * * * * /usr/local/scripts/repppoe.sh
我的这支repppoe.sh的bash如下:
#!/bin/bash
/sbin/ifconfig ppp0
if [ $? -gt 0 ];then
echo "start up ppp0"
/usr/bin/pon dsl-provider
fi
/sbin/ifconfig ppp1 >/dev/null 2>&1
if [ $? -eq 0 ];then
#全关
/usr/bin/poff -a
sleep 3
#重拨
/usr/bin/pon dsl-provider
fi
稍微说明一下,我通常会用简单的命令来简查是否运行正确,
在下图中,您可以看到,当命令运行成功时是会回传0的,也就是说回传0没问题,我不用重拨。
偏偏有万中选一的异常,我就碰到了,可能某次的ifconfig回传的不是0。
这会造成script多拨了一个新的网络ppp1,这不是我想要的,就像下方这样
所以在上方的repppoe.sh中,我多检测了ppp1,如果是因为某种原因,不该出现的ppp1,
我的解法通常很爆力,就把他停全部停掉,再重拨一次。😛
No Comment
Post your comment