我收到系统管理员发来的一封电子邮件,说我需要重启系统才能应用一些补丁。我忘了这事,几个小时后我又收到一封邮件,说我还没有重启系统。
我已经重启了系统,但我很惊讶他们怎么知道我是否重启了机器。有人能解释一下这是怎么回事吗?
答案1
可以使用以下方法快速进行远程检查简单网络管理协议(假设您的系统管理员已在您的网络上设置了此功能):
admin@yourcompany:~$ snmpwalk -v 2c -c <snmpstring> MachineName sysUpTimeInstance
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9461615) 1 day, 2:16:56.15
最有可能的是,数据将被轮询并存储在某种网络管理/监控系统中(即 Nagios 或 Cacti)。
如果有人有兴趣尝试一下这个snmpwalk
命令,请参阅答案这里在您的系统上设置基本的 SNMP 配置。
答案2
答案3
@saji89提到了uptime
命令。我将更进一步,简单地假设系统管理员在某处有一个脚本,该脚本连接到每台计算机并执行cat /proc/uptime
(或等效操作)。输出的第一个字段是自系统上次重新启动以来的时间(以秒为单位),这比的输出更容易解析。uptime
例如,我的计算机给出了第一个正常运行时间字段,1441218.24
返回。1441218 秒是 16 天加 58818 秒,58818 秒是 16 1/3 小时。16 天 16 1/3 小时。uptime
up 16 days, 16:20
当你知道系统自启动以来的最大时间长度时应该已经重新启动,通过这些数据可以轻松检查系统是否从那时起已经重新启动。
可以通过 Nagios 等监控工具或系统管理员保存在计算机上的单独脚本(或者我猜想可以通过它访问)来完成,该脚本依次或并行连接到每台计算机并以某种格式打印自上次重启以来的时间。这一切都取决于制作的复杂程度。
答案4
当需要重启的软件包通过 更新后,会在 中创建apt
一个名为 的文件。系统管理员可以远程检查此文件是否存在,以确定是否因更新而需要重启。reboot-required
/var/run/