有没有办法监控互联网连接并获取日志文件,其中说明互联网在一天中的什么时间断开连接以及何时恢复连接?我使用的是 Ubuntu 22.04
编辑 :笔记本电脑始终连接到 wifi 并且始终处于打开状态。它应该保持与互联网的连接。我想要一个日志文件,显示它何时断网以及何时再次连接。
答案1
虽然这是大部分都在这里回答,您还要求提供一个日志文件,其中说明互联网断开连接的时间以及恢复的时间。
该脚本(monitor.sh
基于链接的答案用户3439968)将检查机器是否在线。除非机器离线,否则它不会报告任何内容:
#!/bin/bash
# Your preferred date stamp format:
d=`date --rfc-3339=seconds`
# Use a file to record the start of any down time:
f=/tmp/offline
# Test connectivity.
# NOTE: You can use any connectivity test below that exits with 0 if successful.
# The rest of the script will work as described.
echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1
# Check to see if we're back online after an outage,
# otherwise report as still offline:
if [ $? -eq 0 ] ; then
if [ -f $f ] ; then
echo "Back Online $d"
rm -f $f
fi
else
echo "Offline $d"
touch $f
fi
然后可以在离线事件期间创建带时间戳的日志文件,确认事件期间每次测试的时间以及机器恢复在线的时间。
在 cron 作业上每 10 秒调用一次,如下所示:
*/10 * * * * * /path/to/monitor.sh &>> /path/to/monitor.log