![如果主无线连接出现故障,是否设置备用临时连接?](https://linux22.com/image/1281726/%E5%A6%82%E6%9E%9C%E4%B8%BB%E6%97%A0%E7%BA%BF%E8%BF%9E%E6%8E%A5%E5%87%BA%E7%8E%B0%E6%95%85%E9%9A%9C%EF%BC%8C%E6%98%AF%E5%90%A6%E8%AE%BE%E7%BD%AE%E5%A4%87%E7%94%A8%E4%B8%B4%E6%97%B6%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我有一个只能通过无线方式访问的设备。默认情况下,它会启动一个我可以连接的临时无线网络。问题是临时无线网络无法访问互联网。
因此,我使用以下命令将其连接到我的路由器(它是 gnu/linux):
iwconfig ath0 mode managed essid "ESSID"
ifconfig ath0 192.168.1.25 netmask 255.255.255.0 up
route add default gw 192.168.1.1
我想将其添加到启动脚本中,但我不想在路由器出现问题时永远无法使用设备(路由器真的很旧)。
有没有办法检查连接是否失败,并在失败时创建一个临时连接?
答案1
设置默认启动脚本以使用路由器。您已经演示了如何执行此操作。
将路由器视为主要连接。
编写一个脚本,该脚本将每隔 X 分钟使用 crontab 运行一次。该脚本将 ping 某个 Internet 地址,例如 8.8.8.8。如果 ping 失败,它将运行该脚本来设置临时连接。
通过关闭路由器来测试设置。
剩下的唯一问题是,如果你在设置中犯了错误,会发生什么?有没有办法重启机器?或者还有其他选择?
在这种情况下,我会考虑使用其他机器来测试设置,只有当你确定一切正常时,才将设置复制到所需的设备。
编辑:要检查 bash 命令是否成功,请使用$?
例如,
ping 8.8.8.8
if [ $? -eq 0 ]
then
echo "0 means command success"
else
echo "non 0 means not success failure, specific commands have exact code for each of failure messages"
fi