我如何才能可靠地检查 Ubuntu 机器上次连接到互联网的时间?

我如何才能可靠地检查 Ubuntu 机器上次连接到互联网的时间?

我如何才能可靠地检查 Ubuntu 机器上次连接到互联网的时间?

如果这不可能的话,检查 Ubuntu 机器上次连接到网络的时间就足够了。

答案1

方法 1

尽管 NetworkManager.conf 允许记录,但显然它仍会进入 syslog。然而,kern.log 也有它。

grep 'associated' /var/log/kern.log | tail -n1                               
Jun 21 17:08:25 anaconda kernel: [ 4910.819781] wlan1: associated

方法 2

我发现 NetworkManager 确实存储了上次连接时间,并且/var/lib/NetworkManager/timestamps以 unix 纪元时间格式(自 1970 年以来的秒数)在文件中排序。例如,我的看起来像这样:

$ cat /var/lib/NetworkManager/timestamps                                       
[timestamps]
c562ac2d-8911-4273-b165-ed1495b28c9a=1432777079
46cfcdd9-d095-418f-acd6-0a7ca282bb9a=0
d81fb3d0-1717-42c0-903d-4622c2381597=1434895707
b0bdefe6-df88-49bb-83d8-154dd21d77d9=1433093286

显示最新条目

date --date=@"$( awk -F'=' 'BEGIN {var=0}{if(var<$2) var=$2;} END{print var}' /var/lib/NetworkManager/timestamps )"

Awk 将搜索最大的纪元时间(换句话说,最新的),然后日期会将其转换为人类可读的形式。

我还怀疑此文件(/var/lib/NetworkManager/timestamps)被“编辑连接”图形菜单用来显示上次连接时间

在此处输入图片描述

问题是,如果你仍然连接到接入点,GUI 方式会继续显示now上次建立连接的时间

答案2

您可以检查该文件,/var/log/syslog它将显示您上次连接到网络时的文件。


例子

Jun 21 08:00:00 Ubuntu dhclient: DHCPREQUEST of 192.0.0.0 on wlan0 to 192.0.0.0 port 67 (xid=0xec7c6e7)

您可以运行grep命令只从日志中提取你需要的内容

< /var/log/syslog grep DHCPREQUEST 

答案3

CONNECTED_GLOBAL我们找到后检查link connected/var/log/syslog

/link connected/,/CONNECTED_GLOBAL/

% awk '/link connected/,/CONNECTED_GLOBAL/ {line=$0} END{print line}' /var/log/syslog
Jun 21 11:12:54 sturm NetworkManager[736]: <info> NetworkManager state is now CONNECTED_GLOBAL Jun 21 11:12:54

% awk '/link connected/,/CONNECTED_GLOBAL/ {month=$1;day=$2;time=$3} END{print month,day,time}' /var/log/syslog
Jun 21 11:12:54

答案4

检查通过互联网中继的任何服务/守护程序日志是否正常工作的一种方式。例如 NTP(网络时间协议)更新。

dpkg -L ntpdate参阅网络状态挂钩

嗯,我检查了 Ubuntu 桌面的日志,发现只要网络连通,更新就会运行,如果上次更新失败,则在短暂延迟后继续尝试。它连接上了ntp.ubuntu.com

(请注意,我在输出中添加了第一列作为我的评论)

$ grep -r ntpdate /var/log/syslog*

1st_trial   Jul 14 00:35:56 user-VirtualBox ntpdate[774]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 00:35:56 user-VirtualBox ntpdate[774]: no servers can be used, exiting
2nd_trial   Jul 14 03:38:57 user-VirtualBox ntpdate[2571]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 03:38:57 user-VirtualBox ntpdate[2571]: no servers can be used, exiting
3rd_trial   Jul 14 03:46:09 user-VirtualBox ntpdate[2782]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 03:46:09 user-VirtualBox ntpdate[2782]: no servers can be used, exiting
4th_trial   Jul 14 03:47:48 user-VirtualBox ntpdate[2917]: step time server 91.189.89.199 offset 3.458355 sec
1st_trial   Jul 14 10:23:07 user-VirtualBox ntpdate[728]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 10:23:07 user-VirtualBox ntpdate[728]: no servers can be used, exiting
2nd_trial   Jul 14 10:37:22 user-VirtualBox ntpdate[2099]: step time server 91.189.89.199 offset 2.021103 sec
dis-/re-con Jul 14 15:27:09 user-VirtualBox ntpdate[20174]: step time server 91.189.89.199 offset 1.677465 sec
1st_trial   Jul 14 23:55:00 user-VirtualBox ntpdate[807]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 23:55:00 user-VirtualBox ntpdate[807]: no servers can be used, exiting
2nd_trial   Jul 15 00:00:24 user-VirtualBox ntpdate[2041]: step time server 91.189.94.4 offset 1.619839 sec
1st_trial   Jul 15 05:39:08 user-VirtualBox ntpdate[767]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 15 05:39:08 user-VirtualBox ntpdate[767]: no servers can be used, exiting
2nd_trial   Jul 15 05:39:21 user-VirtualBox ntpdate[1088]: step time server 91.189.94.4 offset 2.897077 sec
1st_trial   Jul 15 05:49:40 user-VirtualBox ntpdate[787]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 15 05:49:40 user-VirtualBox ntpdate[787]: no servers can be used, exiting
2nd_trial   Jul 15 05:49:50 user-VirtualBox ntpdate[1101]: adjust time server 91.189.94.4 offset 0.090520 sec
reconnect   Jul 15 05:55:50 user-VirtualBox ntpdate[2251]: adjust time server 91.189.94.4 offset 0.261432 sec
reconnect   Jul 15 06:04:53 user-VirtualBox ntpdate[2702]: step time server 91.189.94.4 offset 0.525658 sec

我确认它是默认安装在 Ubuntu 14.04 LTS 64Bit 桌面版和服务器版中。

我在虚拟机中尝试了一下,它只显示连接或重新连接的时间(互联网可用)。不是你想要的(上次连接)

注意,syslog 是轮换日志,如果你想搜索所有日志,甚至是旧的压缩日志,请使用zgrep

zgrep -ih ntpdate /var/log/syslog* | sort -bn -k2

相关内容