2

在 Linux (Ubuntu) 中,我想以编程方式检查是否有 Internet 连接(或者是否连接了 eth0)。

我这样做是因为我正在编写一个程序,该程序需要在一个很容易失去连接的系统上进行网络连接。

所以我在想也许我可以定期运行一个脚本来检查。

你能给我好的建议吗?

4

3 回答 3

6

这是一个可以完成您想要的快速脚本:

EMAIL=youremail@something.com
ping -c 5 8.8.8.8 >> /dev/null

if [ $? -eq  0 ]
    then
    echo "Able to reach internet!" | mail $EMAIL
else
    echo "Unable to reach internet!" | mail $EMAIL
fi

显然,您可以根据您的目标将邮件更改为其他要执行的操作 编辑:解释一下,这会 ping googles dns 服务器以确保您已连接并以一种或另一种方式向您发送电子邮件。当然,只有当您的网络上有本地电子邮件服务器时,失败的电子邮件部分才会起作用。

于 2012-06-11T20:05:29.477 回答
1

/sbin/ifconfig将是一个极好的脚本“获取适配器状态”命令。

cron将是执行脚本的绝佳方式。

于 2012-06-11T20:02:24.487 回答
0

我还建议ping或者可能是wget某个远程服务器(最好是您要连接的服务器)。该网络可以在本地校园中很好地工作,但在洲际连接上效果不佳(例如,因为一些电缆已被切断)。

于 2012-06-12T06:02:13.083 回答