奇怪的是,我奇怪的互联网连接每天都在线下,但我只需要重新启动路由器,它一切都会好起来的。
所以我决定编写脚本,一旦它离线就重启路由器。
ping -c
是我想到的第一个想法。
在思考和研究之后,我想出了这个:
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
echo "Online"
# do nothing
else
echo "Offline"
# retry for the next 2 minutes
# and when still offline
# curl command to restart router
fi
有了2分钟,它可以补偿路由器重启的时间,问题是我如何在接下来的2分钟内重试。
将其保存在一个文件中,并且每隔7分钟作为一个cron运行,我认为可以为我做这个工作。
答案 0 :(得分:-1)
我可能有一个答案
#!/bin/bash
retries=0
detect_network () {
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
echo "Online"
retries=0
else
if [ "$retries" -eq 120 ]; then
echo "curl now"
#
else
echo "Offline"
((retries=retries+1))
sleep 1
detect_network
fi
fi
}
detect_network