歡迎光臨
每天分享高質量文章

如何使用 yum-cron 自動更新 RHEL/CentOS Linux | Linux 中國

我知道如何使用 yum 命令列 更新系統,但是我想用 cron 任務自動更新軟體包。
— Vivek Gite


致謝
編譯自 | https://www.cyberciti.biz/faq/fedora-automatic-update-retrieval-installation-with-cron/ 
 作者 | Vivek Gite
 譯者 | shipsw ? ? 共計翻譯:10 篇 貢獻時間:1399 天

yum 命令是 RHEL / CentOS Linux 系統中用來安裝和更新軟體包的一個工具。我知道如何使用 yum 命令列[1] 更新系統,但是我想用 cron 任務自動更新軟體包。該如何配置才能使得 yum 使用 cron 自動更新[2]系統補丁或更新呢?

首先需要安裝 yum-cron 軟體包。該軟體包提供以 cron 命令執行 yum 更新所需的檔案。如果你想要每晚透過 cron 自動更新可以安裝這個軟體包。

CentOS/RHEL 6.x/7.x 上安裝 yum cron

輸入以下 [yum 命令][3]:

  1. $ sudo yum install yum-cron

使用 CentOS/RHEL 7.x 上的 systemctl 啟動服務:

  1. $ sudo systemctl enable yum-cron.service

  2. $ sudo systemctl start yum-cron.service

  3. $ sudo systemctl status yum-cron.service

在 CentOS/RHEL 6.x 系統中,執行:

  1. $ sudo chkconfig yum-cron on

  2. $ sudo service yum-cron start

yum-cron 是 yum 的一個替代方式。使得 cron 呼叫 yum 變得非常方便。該軟體提供了元資料更新、更新檢查、下載和安裝等功能。yum-cron 的各種功能可以使用配置檔案配置,而不是輸入一堆複雜的命令列引數。

配置 yum-cron 自動更新 RHEL/CentOS Linux

使用 vi 等編輯器編輯檔案 /etc/yum/yum-cron.conf 和 /etc/yum/yum-cron-hourly.conf

  1. $ sudo vi /etc/yum/yum-cron.conf

確保更新可用時自動更新:

  1. apply_updates = yes

可以設定通知 email 的發件地址。註意: localhost將會被system_name` 的值代替。

  1. email_from = root@localhost

列出傳送到的 email 地址。

  1. email_to = your-it-support@some-domain-name

傳送 email 資訊的主機名。

  1. email_host = localhost

[CentOS/RHEL 7.x][4] 上不想更新內核的話,新增以下內容:

  1. exclude=kernel*

RHEL/CentOS 6.x 下新增以下內容來禁用核心更新[3]

  1. YUM_PARAMETER=kernel*

儲存並關閉檔案[4]。如果想每小時更新系統的話修改檔案 /etc/yum/yum-cron-hourly.conf,否則檔案 /etc/yum/yum-cron.conf 將使用以下命令每天執行一次(使用 cat 命令[5] 檢視):

  1. $ cat /etc/cron.daily/0yum-daily.cron

示例輸出:

  1. #!/bin/bash

  2. # Only run if this flag is set. The flag is created by the yum-cron init

  3. # script when the service is started -- this allows one to use chkconfig and

  4. # the standard "service stop|start" commands to enable or disable yum-cron.

  5. if [[ ! -f /var/lock/subsys/yum-cron ]]; then

  6. exit 0

  7. fi

  8. # Action!

  9. exec /usr/sbin/yum-cron /etc/yum/yum-cron-hourly.conf

  10. [root@centos7-box yum]# cat /etc/cron.daily/0yum-daily.cron

  11. #!/bin/bash

  12. # Only run if this flag is set. The flag is created by the yum-cron init

  13. # script when the service is started -- this allows one to use chkconfig and

  14. # the standard "service stop|start" commands to enable or disable yum-cron.

  15. if [[ ! -f /var/lock/subsys/yum-cron ]]; then

  16. exit 0

  17. fi

  18. # Action!

  19. exec /usr/sbin/yum-cron

完成配置。現在你的系統將每天自動更新一次。更多細節請參照 yum-cron 的說明手冊。

  1. $ man yum-cron

關於作者

作者是 nixCraft 的創始人,一個經驗豐富的系統管理員和 Linux/Unix 指令碼培訓師。他曾與全球客戶合作,領域涉及IT,教育,國防和空間研究以及非營利部門等多個行業。請在 Twitter[6]Facebook[7]Google+[8] 上關註他。獲取更多有關係統管理、Linux/Unix 和開源話題請關註我的 RSS/XML 地址[9]


via: https://www.cyberciti.biz/faq/fedora-automatic-update-retrieval-installation-with-cron/

作者:Vivek Gite[11] 譯者:shipsw 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

[3]:https://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/[4]:https://www.cyberciti.biz/faq/yum-update-except-kernel-package-command/

贊(0)

分享創造快樂

© 2022 知識星球   網站地圖