Centos

使用 yum-cron 進行調度

  • February 1, 2021

我正在嘗試使用我組織中所有 GNU/Linux 機器的 Spacewalk 配置更新檔管理,但我在調度方面有點掙扎。變更管理已決定,開發/測試環境應在每週二早上 5 點至 7 點進行修補,生產環境應在周四早上在同一時間範圍內進行修補。除了檢查、下載和應用更新檔之外,我還添加了一個腳本以在核心更新時重新啟動伺服器,以及一個用於清理 yum 的腳本。我已經將這些腳本放在 /etc/cron.weekly/ 中並配置了 anacrontab:

1       5       cron.daily              nice run-parts /etc/cron.daily
7       5       cron.weekly             nice run-parts /etc/cron.weekly

我的問題是每天都在執行,我認為問題是由 yum-cron /etc/yum-cron.conf 的配置文件引起的。我試圖找到有關如何配置此文件的資訊,而設置 DAYS_OF_WEEK / days_of_week 顯然是魔術發生的地方。手冊頁也沒有任何幫助。我的問題是,我如何將星期幾設置為星期二 (2) 或星期四 (4)?我嘗試了不同的變體,例如:

DAYS_OF_WEEK=2
DAYS_OF_WEKK="2"
days_of_week = 2
days_of_week = "2"

然而似乎沒有什麼能按我想要的方式工作。我有預感,對於 CentOS 7,我必須使用小寫的 days_of_week,而對於 CentOS 6,我必須使用大寫,但我不確定。

任何意見或想法將不勝感激,並提前致謝!

顯然 EL 7 中的 yum-cron 3.4 刪除了 /etc/sysconfig/yum-cron 包括 DAYS_OF_WEEK 功能。我在 /usr/sbin/yum-cron 中沒有看到類似的東西。


/etc/yum/yum-cron.conf根據您的喜好自定義配置文件 ( )。至少,預設值random_sleep比您的 2 小時視窗長。

編寫和安排您自己的腳本。

#!/bin/sh
# /usr/local/bin/updateandreboot
# Wrapper for update and reboot
# TODO does not respect /var/lock/subsys/yum-cron
/usr/sbin/yum-cron /etc/yum/yum-cron.conf && \
 /usr/bin/needs-restarting -r || \
 /usr/sbin/shutdown -r now "Restarting for scheduled software update"

由於我不知道 anacron 中的一周中的某一天,因此將其安排在 cron 中。

# /etc/cron.d/autoupdate
# 05:01 on Tuesday
1 5 * * 2 root /usr/local/bin/updateandreboot

還可以yum clean packages在需要時安排。

刪除 yum-cron 的預設每日和每週計劃。 rm /etc/cron*/*yum*cron會這樣做,但是當 yum-cron 包更新時這些會回來。

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