首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux上使用Bash脚本检查Internet访问?

如何在Linux上使用Bash脚本检查Internet访问?
EN

Stack Overflow用户
提问于 2013-06-25 15:10:20
回答 8查看 72.2K关注 0票数 19

在我的学校,互联网是不可用的(每天晚上23点以后,学校会切断互联网连接,让我们上床睡觉>..<),然后ping永远不会停止,尽管我使用了参数ping -w1 ...

也就是说,当我使用:ping -q -w1 -c1 8.8.8.8检查互联网连接是否打开/关闭时,它将在那里,没有任何输出,也不退出,就像我使用单个cat一样。

我不知道为什么会这样,但我认为问题与学校的互联网服务有关。有什么建议吗?(我认为wget可能是一个很好的替代方案,但是我如何使用它呢?)

EN

Stack Overflow用户

发布于 2019-11-13 00:28:38

我决定结合前面的几个答案,这样我以后就可以创建一个图表,显示起伏和它们的持续时间:

代码语言:javascript
复制
#!/bin/bash
#
# pinger is a bash shell script that monitors the network
# status every 15 seconds and records if it is up '1' or down '0'
# into the file log.csv from whence it may be plotted.
#
# author: J. W. Wooten, Ph.D.
# since: 11/12/2019
# version: 1.0
#
TIMESTAMP=`date +%s`
while [ 1 ]
  do
    nc -z -w 5 8.8.8.8 53  >/dev/null 2>&1
online=$?
    TIME=`date +%s`
    if [ $online -eq 0 ]; then
      echo "`date +%Y-%m-%d_%H:%M:%S_%Z` 1 $(($TIME-$TIMESTAMP))" | tee -a log.csv
    else
      echo "`date +%Y-%m-%d_%H:%M:%S_%Z` 0 $(($TIME-$TIMESTAMP))" | tee -a log.csv
    fi
    TIMESTAMP=$TIME
    sleep 15
  done;

这将每15秒输出一次CSV文件。使用Excel或Numbers,您可以读取文件并创建绘图,该绘图将显示Internet连接不可用的时间以及持续时间。如果它改变了你的睡眠间隔,那么它就是在花时间尝试连接。我希望添加功能,当它检测到网络下一步关闭时给我发送文本。

票数 1
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17291233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档