在Linux(Ubuntu)中,我想以编程方式检查是否存在Internet连接(或者是否连接了eth0)。
我这样做是因为我正在编写一个程序,该程序需要在极易丢失连接的系统上进行网络连接。
所以我想的可能是一个我可以定期运行以检查的脚本。
你能给我很好的建议吗?
答案 0 :(得分:5)
这是一个快速的脚本,可以实现您的目标:
MAIL=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 "failed" | mail $EMAIL
fi
显然,根据您的目标,您可以将邮件更改为其他内容 编辑:解释,这ping谷歌dns服务器,以确保您已连接并以某种方式向您发送电子邮件。如果您的网络上有本地电子邮件服务器,则失败的电子邮件部分当然会有效。
答案 1 :(得分:1)
/sbin/ifconfig
对脚本来说是一个很好的“get adapter status”命令。
cron
是执行脚本的绝佳方式。
答案 2 :(得分:0)
我还建议ping
或wget
某个远程服务器(最好是要连接的服务器)。该网络可以在当地校园中很好地工作,但在洲际连接上也不是很好(例如,因为一些电缆被切断)。