![我如何才能可靠地检查 Ubuntu 机器上次连接到互联网的时间?](https://linux22.com/image/873230/%E6%88%91%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E5%8F%AF%E9%9D%A0%E5%9C%B0%E6%A3%80%E6%9F%A5%20Ubuntu%20%E6%9C%BA%E5%99%A8%E4%B8%8A%E6%AC%A1%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%BA%92%E8%81%94%E7%BD%91%E7%9A%84%E6%97%B6%E9%97%B4%EF%BC%9F.png)
我如何才能可靠地检查 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