百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

使用uptimed命令监视Linux系统正常运行时间

sinye56 2024-11-17 01:33 4 浏览 0 评论

作为一名合格的 Linux 运维人员,监视系统的正常运行时间可以说是一门基本功了。今天这篇文章就为大家分享一个用于记录和跟踪系统的运行时间的实用命令行工具,它的名字叫做 uptimed

之所以推荐 uptimed,主要是因为它能在记录和跟踪系统的运行时间之余,还能将这些历史记录以摘要的形式直截了当地展示给用户,比如你的系统已经运行多长时间了?最长的运行时间记录是多少?系统又是何时重启的?等等,而且它也比较容易上手。下面就简单来了解一下 uptimed 的安装和使用吧。

安装uptimed工具

目前主流的 Linux 发行版的官方存软件库中已经提供了 uptimed

在 Arch Linux 上安装:

nbsp;sudo pacman -S uptimed

在 Debian,Ubuntu,Linux Mint 上安装:

nbsp;sudo apt-get install uptimed

在 Ubuntu 及其衍生版本上安装前请确保添加了 universe 存储库,没有的话请运行以下命令添加:

nbsp;sudo add-apt-repository universe

在 Fedora 上安装:

nbsp;sudo dnf install uptimed

在 CentOS 7 上安装:

因为 CentOS 7 的默认存储库中没有 uptimed,所以要先添加 EPEL 存储库:

nbsp;sudo yum install epel-release

然后运行以下命令安装:

nbsp;sudo yum install uptimed

手动安装:

对于其他 Linux 系统,或者上述方法安装失败的,可以从发行版页面下载源码,然后手动编译安装:

# wget https://github.com/rpodgorny/uptimed/archive/v0.4.2.zip -O uptimed.zip
# unzip uptimed.zip
# cd uptimed-0.4.2/
# ./configure
# make
# make install

安装完成后,启用并启动服务:

# systemctl enable uptimed
# systemctl start uptimed

检查服务的启动状态:

# systemctl status uptimed
● uptimed.service - Uptime record tracking daemon
   Loaded: loaded (/usr/lib/systemd/system/uptimed.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-02-11 14:21:12 IST; 1s ago
     Docs: man:uptimed(8)
           man:uprecords(1)
 Main PID: 1435 (uptimed)
   Status: "Next milestone (five days) at Sun Feb 16 14:13:59 2020"
   CGroup: /system.slice/uptimed.service
           └─1435 /usr/sbin/uptimed -f

Feb 11 14:21:12 server.ostechnix.local systemd[1]: Starting Uptime record tracking daemon...
Feb 11 14:21:12 server.ostechnix.local systemd[1]: Started Uptime record tracking daemon.

这样,前期的安装工作就算完成了。

使用uptimed工具

安装完成 uptimed 工具之后,运行 uprecords 命令就能显示系统运行时间的历史摘要了:

# uprecords

输出的摘要结果:

    #               Uptime | System                                     Boot up
----------------------------+---------------------------------------------------
     1     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 14:22:33 2020
     2     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 14:13:59 2020
->   3     0 days, 00:02:11 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 17:02:29 2020
----------------------------+---------------------------------------------------
1up in     0 days, 00:05:17 | at                        Tue Feb 11 17:09:56 2020
no1 in     0 days, 02:33:41 | at                        Tue Feb 11 19:38:20 2020
    up     0 days, 02:45:29 | since                     Tue Feb 11 14:13:59 2020
  down     0 days, 00:05:12 | since                     Tue Feb 11 14:13:59 2020
   %up               96.953 | since                     Tue Feb 11 14:13:59 2020


这里的 -> 符号表示定位到了系统最近的一次启动时间。

使用 -b 按启动时间正序输出:

# uprecords -b
     #               Uptime | System                                     Boot up
----------------------------+---------------------------------------------------
     1     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 14:13:59 2020
     2     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 14:22:33 2020
->   3     0 days, 00:30:14 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 17:02:29 2020

使用 -B 按启动时间倒序输出:

# uprecords -B
     #               Uptime | System                                     Boot up
----------------------------+---------------------------------------------------
->   1     0 days, 00:14:51 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 17:02:29 2020
     2     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 14:22:33 2020
     3     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el  Tue Feb 11 14:13:59 2020

使用 -m 自定义输出记录数:

不加参数的话结果默认输出前 10 条记录,想要输出前 20 条记录,请运行:

# uprecords -m 20

使用 -w 输出完整信息:

上面的结果中关于 Linux 的内核信息是被省略了部分内容的,想要输出完整的内核信息请用 -w 进行宽输出:

# uprecords -w
     #               Uptime | System                                     Boot up
----------------------------+---------------------------------------------------
     1     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el7.x86_64  Tue Feb 11 14:22:33 2020
->   2     0 days, 00:16:35 | Linux 3.10.0-1062.1.1.el7.x86_64  Tue Feb 11 17:02:29 2020
     3     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el7.x86_64  Tue Feb 11 14:13:59 2020
----------------------------+---------------------------------------------------
no1 in     0 days, 02:19:17 | at                        Tue Feb 11 19:38:21 2020
    up     0 days, 02:59:53 | since                     Tue Feb 11 14:13:59 2020
  down     0 days, 00:05:12 | since                     Tue Feb 11 14:13:59 2020
   %up               97.190 | since                     Tue Feb 11 14:13:59 2020

使用 -d 显示关机时间:

-d 可以将上面的内核信息替换为关机时间信息:

# uprecords -d
     #               Uptime |        Last downtime                       Boot up
----------------------------+---------------------------------------------------
     1     0 days, 02:35:51 |     0 days, 00:01:07      Tue Feb 11 14:22:33 2020
->   2     0 days, 00:13:02 |     0 days, 00:04:05      Tue Feb 11 17:02:29 2020
     3     0 days, 00:07:27 |     0 days, 00:00:00      Tue Feb 11 14:13:59 2020
----------------------------+---------------------------------------------------
no1 in     0 days, 02:22:50 | at                        Tue Feb 11 19:38:21 2020
    up     0 days, 02:56:20 | since                     Tue Feb 11 14:13:59 2020
  down     0 days, 00:05:12 | since                     Tue Feb 11 14:13:59 2020
   %up               97.136 | since                     Tue Feb 11 14:13:59 2020

查看更多的命令选项:

# uprecords -?
usage: uprecords [OPTION]...

  -?             this help
  -a             do not print ansi codes
  -b             sort by boottime
  -B             reverse sort by boottime
  -k             sort by sysinfo
  -K             reverse sort by sysinfo
  -d             print downtime seen before every uptimes instead of system
  -c             do not show current entry if not in top entries
  -f             run continously in a loop
  -s             do not print extra statistics
  -w             wide output (more than 80 cols per line)
  -i INTERVAL    use INTERVAL seconds for loop instead of 5, implies -f
  -m COUNT       show a maximum of top COUNT entries instead of 10
  -M             show next milestone
  -v             version information

好了,这次的分享就到这里了,上面所举的例子都是日常使用中十分常见的,如果你想要了解更多关于 uptimed 的用法,可以参考它的帮助手册。

nbsp;man uprecords

希望本文对你有所帮助!

相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: