linux正常运行时间历史记录

时间:2020-03-05 18:57:47  来源:igfitidea点击:

如何获得我的Debian Box正常运行时间的历史记录?重新启动后,我看不到uptime命令的选项来打印正常运行时间的历史记录。如果很重要,我想使用这些正常运行时间来绘制php中的页面图形,以显示两次引导之间的Web服务器正常运行时间长度。

更新:
不知道它是基于时间长度还是上次重启时重置,但是我只能通过上一条命令获得最新的启动时间戳。 last -x也不返回任何进一步的信息。听起来像剧本是我最好的选择。

更新:
Uptimed是我要查找的信息,不确定如何在代码中重复该信息。管理自己的数据库脚本听起来最适合应用程序。

解决方案

回答

我不认为此信息在重新启动之间保存。

如果正确关闭,则可以在关闭时运行命令,以节省正常运行时间,这样我们可以在启动后重新读回它。

回答

last命令将为我们提供系统的重新启动时间。我们可以在每次连续重新启动之间进行区别,这样可以延长机器的正常运行时间。

更新

1800 INFORMATION答案是一个更好的解决方案。

回答

此信息通常不保存。但是,我们可以注册一个在线服务来为我们完成此任务。我们只需安装一个客户端,该客户端每5分钟将正常运行时间发送到服务器,并且该站点将向我们显示正常运行时间的图表:

http://uptimes-project.org/

回答

它不会存储在启动之间,但是Uptimes Project是第三方选项,可以通过一系列平台的软件对其进行跟踪。

在Debian上可用的另一个工具是uptimed,它可以跟踪启动之间的正常运行时间。

回答

我们可以创建一个简单的脚本来运行正常运行时间并将其转储到文件中。

uptime >> uptime.log

然后为其设置一个cron作业。

回答

安装正常运行。它正是我们想要的。

编辑:

我们可以像这样轻松地将其包含在PHP页面中:

<? system("/usr/local/bin/uprecords -a -B"); ?>

实例链接坏了吗?

回答

我可以通过在crontab中输入以下内容(出于格式化目的,我已经将其分开以分隔一行)来创建一个cron作业,以所需的分辨率(例如10分钟)运行(将cron -l列出,将cron -e改为编辑)。

0,10,20,30,40,50 * * * *
    /bin/echo $(/bin/date +\%Y-\%m-\%d) $(/usr/bin/uptime)
    >>/tmp/uptime.hist 2>&1

这会在计算机运行时每隔十分钟将日期,时间和正常运行时间添加到uptime.hist文件中。然后,我们可以手动检查该文件以找出信息,或者编写脚本以对其进行适当处理。

每当正常运行时间减少时,自上一个记录以来,都会重新启动。当生产线之间的间隙较大时(即超过预期的十分钟),则在此期间机器已停机。

回答

试试看:

last | grep reboot