如何在linux中生成正常运行时间月度报告?

lif*_*ree 4 command-line uptime

我想通过电子邮件向我的客户发送月度正常运行时间报告。任何人都可以帮助我如何生成月度报告。

Rin*_*ind 5

有一个名为“tuptime”的工具可以生成有关“uptime”的信息,但与单行“uptime”显示的信息相比,它包含更多信息。

从他们的github 页面:

基本安装和使用

克隆回购

git clone https://github.com/rfrail3/tuptime.git
Run Code Online (Sandbox Code Playgroud)

将tuptime位于latest/目录下的文件复制到 /usr/bin/并使其可执行

cp tuptime/src/tuptime /usr/bin/tuptime chmod ugo+x /usr/bin/tuptime
Run Code Online (Sandbox Code Playgroud)

确保系统通过先决条件

python 3.X 
Run Code Online (Sandbox Code Playgroud)

首先使用特权用户运行

tuptime
Run Code Online (Sandbox Code Playgroud)

我额外添加的:将所有者和组更改typtime为您的用户:

sudo chown $USER:$USER /usr/bin/tuptime
Run Code Online (Sandbox Code Playgroud)

您可以在没有 sudo/root 访问权限的情况下运行它。

从链接中显示的关键点之一是:

  • 它在 sqlite 数据库中注册时间。任何其他软件都可以使用它。规格在 tuptime-manual.txt 中。此外,它还可以选择以秒和纪元 (-s) 或/和 csv 格式输出寄存器,便于将其通过管道传输到其他命令。

因此,如果您可以编码,则可以创建自己的报告。或者甚至将数据库连接到jasperstudio 之类的东西并创建一个模板。

否则命令tuptime将显示:

System startups:    1   since   21:54:09 24/09/15
System shutdowns:   0 ok   -   0 bad
System uptime:      100.0 %   -   21 minutes and 30 seconds
System downtime:    0.0 %   -   0 seconds
System life:        21 minutes and 30 seconds

Largest uptime:     21 minutes and 30 seconds   from   21:54:09 24/09/15
Shortest uptime:    21 minutes and 30 seconds   from   21:54:09 24/09/15
Average uptime:     21 minutes and 30 seconds

Largest downtime:   0 seconds
Shortest downtime:  0 seconds
Average downtime:   0 seconds

Current uptime:     21 minutes and 30 seconds   since   21:54:09 24/09/15
Run Code Online (Sandbox Code Playgroud)

或tuptime --table将显示表格输出:

No.      Startup Date                              Uptime       Shutdown Date   End                   Downtime

1   10:15:27 08/08/15                          42 seconds   10:16:09 08/08/15    OK                 16 seconds
2   10:16:26 08/08/15                          49 seconds   10:17:15 08/08/15    OK                 16 seconds
3   10:17:32 08/08/15            5 minutes and 47 seconds   10:23:19 08/08/15    OK                 16 seconds
4   10:23:36 08/08/15                           9 seconds   10:23:45 08/08/15   BAD                 42 seconds
5   10:24:28 08/08/15   2 hours, 9 minutes and 27 seconds   12:33:55 08/08/15    OK  41 minutes and 44 seconds
    . . .
Run Code Online (Sandbox Code Playgroud)

提到的tuptime 手册有很多很好的信息。

您可以通过添加>> /home/$USER/Downloads/tuptime.log到命令将输出发送到文件。该文本文件可以发送给客户端。

  • 哦,您需要开始遵循通用的 Linux 规则:开始阅读手册 ;-) 请参阅名为“tuptime 手册”的问题中的链接。它在某些点链接到的页面指出“定义一个替代数据库文件。默认位于'/var/lib/tuptime/tuptime.db'”;-) 并且它有很多命令行参数和选项来提取数据. (数据库不太可能是纯文本)。如果您可以在 python 中编码,可能还有一个通用连接器可以使用:D 玩得开心;-) (2认同)