在我的学校,互联网是不可用的(每天晚上23点以后,学校会切断互联网连接,让我们上床睡觉>..<),然后ping永远不会停止,尽管我使用了参数ping -w1 ...。
也就是说,当我使用:ping -q -w1 -c1 8.8.8.8检查互联网连接是否打开/关闭时,它将在那里,没有任何输出,也不退出,就像我使用单个cat一样。
我不知道为什么会这样,但我认为问题与学校的互联网服务有关。有什么建议吗?(我认为wget可能是一个很好的替代方案,但是我如何使用它呢?)
发布于 2019-11-13 00:28:38
我决定结合前面的几个答案,这样我以后就可以创建一个图表,显示起伏和它们的持续时间:
#!/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连接不可用的时间以及持续时间。如果它改变了你的睡眠间隔,那么它就是在花时间尝试连接。我希望添加功能,当它检测到网络下一步关闭时给我发送文本。
https://stackoverflow.com/questions/17291233
复制相似问题