Nagios

如何檢查 yum update 上次執行的時間

  • August 20, 2020

有沒有一種規範的方法來找出yum update系統上最後一次執行的時間?

我們的設置是我們有執行自動更新的登台伺服器,如果它們不會發生故障,我們將大約每月手動更新一次生產伺服器(除非關鍵更新)。(我說手動,理想情況下我想手動觸發所有更新,但這是另一個問題)。

但是你很忙,任務滑倒等等。所以我想設置一個 nagios 檢查,如果我們離開太久就會開始困擾我們。

在網上搜尋並沒有讓我走得太遠。探索系統,到目前為止我發現的最好的東西是這樣的:

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

這給了我類似的東西Mar 12,然後我可以將其轉換為日期。關於日期是今年還是去年有一些小問題,我還需要檢查/var/log/yum.log.1以防在 logrotate 後立即檢查。但這只是腳本細節。

這當然可以通過更新單個包而不是一般更新來“欺騙”。

那麼有沒有更規範的方法來查看何時yum update執行?

**編輯:**我現在使用我在問題中提出的想法編寫了一個 Nagios NRPE 外掛。您可以從https://github.com/aptivate/check_yum_last_update獲取它

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 

引用自:https://serverfault.com/questions/389650