如何检查上一次运行yum更新的时间


12

有没有一种规范的方法可以找出yum update系统上次运行的时间?

我们的设置是,我们有运行自动更新的登台服务器,并且只要它们不会发生故障,我们将每月大约一次手动更新生产服务器(除非进行重要更新)。(我是手动说的,理想情况下,我想手动触发所有对象的更新,但这是另一个问题)。

但是您会很忙,任务延误等。因此,我想设置一个nagios检查,如果我们将其保留太久,它将开始困扰我们。

搜索网络还没到我的头。仔细研究一下系统,到目前为止我发现的最好的东西是:

grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2

这给了我类似的东西Mar 12,然后我可以将其转换为日期。关于日期是今年还是去年有一些小麻烦,我还需要检查一下/var/log/yum.log.1logrotate之后是否立即检查。但这只是脚本详细信息。

当然,可以通过更新单个软件包而不是常规更新来“欺骗”。

那么,还有什么更规范的方法可以查看yum update运行时间?

编辑:我现在编写了一个Nagios NRPE插件,该插件使用了我在问题中提出的想法。您可以从https://github.com/aptivate/check_yum_last_update获取它

Answers:


20

yum历史记录选项使用户可以查看过去交易中发生的事情。为了更简单,您可以从yum历史记录中 grep 更新

# yum  history
Loaded plugins: fastestmirror, refresh-packagekit
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    41 | root <root>              | 2012-04-27 20:17 | Install        |   19   
    40 | root <root>              | 2011-11-20 10:09 | Install        |   10   
    39 | root <root>              | 2011-11-20 08:14 | Install        |    1 E<
    38 | root <root>              | 2011-11-19 15:46 | Update         |    1 

1
您使用的是什么版本的yum-我似乎没有history可用的命令。(我们大部分仍在使用CentOS 5)。实际上,只是尝试过,而CentOS 6确实具有它。但是对于我们的目的而言,它还不够通用-看上去对其他人很有用。
Hamish Downer 2012年

1
是的,这是在带有yum版本3.2.29的centos 6.x上。谢谢
Chakri

1
请注意,如果将“安装”和“更新”组合在一起,则“操作”列会说I, U使grep稍微复杂一些。如果更新的程序包依赖于新程序包,则导致安装新程序包,则会发生这种情况。
Hamish Downer 2012年

由于有时更新是在安装其他东西时发生的,因此,如果您也想查看这些更新,可能会通过grep将输出传递如下:yum history | grep'U'将捕获所有涉及更新的运行。
JJC

2

我认为您唯一可以肯定的方法就是跑步psacct

这将允许您运行lastcomm yum。如果您对此进行解析,您将知道是谁运行的,何时运行的。


1

我猜您正在将一组“ Dev”服务器指向Dev yum存储库?

您可以在cron / puppet / chef脚本中执行自动升级,成功后,该脚本将写入文件。(说/etc/yum_last

然后,您可以yum check-update在Dev服务器上的cron / other中定期使用,以查看是否有可用的更新。如果此命令显示> 0可用的更新数量,则将当前日期与上次执行自动yum升级时创建的文件的时间戳进行比较。

如果该日期差在几天后增加,则可以让Nagios发出警报。

您还可以根据需要查看纸浆


0

以下命令列出了最近安装或更新的RPM软件包:

rpm -qa --last  | head

它还可能包括安装在YUM外部的软件包。此命令也可以在没有root特权的情况下运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.