2021-05-12 14:32:11
如何使用yum-cron自動更新RHEL/CentOS Linux
yum命令列工具用於在RHEL/CentOS Linux伺服器下安裝和更新軟體包。 我知道如何使用yum update命令列應用更新,但我想用cron手動更新包。 如何設定yum以便使用cron自動安裝軟體修補程式/更新?
你需要安裝yum-cron軟體包。 它提供了將yum更新作為cron作業執行所需的檔案。 如果您希望通過cron每晚自動更新yum,請安裝此軟體包。
如何在CentOS/RHEL 6.x/7.x上安裝yum cron
在下面輸入以下yum命令:
sudo yum install yum-cron
在CentOS/RHEL 7.x上使用systemctl命令開啟服務:
[linuxidc@localhost ~]$ sudo systemctl enable yum-cron.service
[linuxidc@localhost ~]$ sudo systemctl start yum-cron.service
[linuxidc@localhost ~]$ sudo systemctl status yum-cron.service
範例輸出:
● yum-cron.service - Run automatic yum updates as a cron job
Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
Active: active (exited) since 二 2018-05-15 08:57:45 CST; 13s ago
Process: 3449 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
Main PID: 3449 (code=exited, status=0/SUCCESS)
5月 15 08:57:45 localhost.localdomain systemd[1]: Starting Run automatic yum...
5月 15 08:57:45 localhost.localdomain systemd[1]: Started Run automatic yum ...
Hint: Some lines were ellipsized, use -l to show in full.
[linuxidc@localhost ~]$
如果您正在使用CentOS/RHEL 6.x,請執行:
$ sudo chkconfig yum-cron on
$ 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檔案:
$ sudo vi /etc/yum/yum-cron.conf
確保更新應該在可用時應用
apply_updates = yes
您可以設定地址以從中傳送電子郵件。 請注意'localhost'將被替換為system_name的值。
email_from = root@localhost
要傳送訊息的地址列表。
email_to = your-it-support@some-domain-name
要連線到傳送電子郵件的主機的名稱。
email_host = localhost
如果您不想更新核心包,請在CentOS/RHEL 7.x上新增以下內容:
exclude=kernel*
對於RHEL/CentOS 6.x,新增以下內容以排除核心程式包的更新:
YUM_PARAMETER=kernel*
在vi/vim中儲存並關閉檔案。 如果您想每小時應用更新,則還需要更新/etc/yum/yum-cron-hourly.conf檔案。 否則/etc/yum/yum-cron.conf將每天使用以下cron作業執行(us cat命令:
$ cat /etc/cron.daily/0yum-daily.cron
範例輸出:
#!/bin/bash
# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
exit 0
fi
# Action!
exec /usr/sbin/yum-cron /etc/yum/yum-cron-hourly.conf
[root@centos7-box yum]# cat /etc/cron.daily/0yum-daily.cron
#!/bin/bash
# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
exit 0
fi
# Action!
exec /usr/sbin/yum-cron
就這些。 現在你的系統會每天使用yum-cron自動更新。 有關更多詳細資訊,請參閱yum-cron的手冊頁:
$ man yum-cron
方法2 - 使用shell指令碼
警告:以下方法已過時。 不要在RHEL/CentOS 6.x/7.x上使用它。 只有當我在CentOS/RHEL版本4.x/5.x上使用它時,我才將其保留在下面。
讓我們看看如何設定CentOS/RHEL來進行yum自動更新檢索和安全包的安裝。 您可以使用CentOS/RHEL伺服器提供的yum-updatesd服務。 但是,該服務提供了一些開銷。 您可以使用以下shell指令碼建立每日或每週更新。 建立
/etc/cron.daily/yumupdate.sh to apply updates one a day.
/etc/cron.weekly/yumupdate.sh to apply updates once a week.
用於更新系統的範例Shell指令碼
一個shell指令碼,指示yum更新它通過cron發現的任何包:
#!/bin/bash
YUM=/usr/bin/yum
$YUM -y -R 120 -d 0 -e 0 update yum
$YUM -y -R 10 -e 0 -d 0 update
(程式碼清單-01:/etc/cron.daily/yumupdate.sh)
1.第一個命令會自動更新yum,接下來會應用系統更新。
2.-R 120:設定yum在執行命令之前等待的最長時間
3. -e 0:將錯誤級別設定為0(範圍0 - 10)。 0表示僅列印關於您必須告訴的關鍵錯誤。
-d 0:將偵錯級別設定為0 - 開啟或關閉列印內容的數量。 (範圍:0 - 10).1.-y:假設是; 假設對任何問題的答案都是肯定的。
確保你設定了可執行許可權:
# chmod +x /etc/cron.daily/yumupdate.sh
OK! 如果您有任何問題或意見,請隨時在下面發表評論。
相關文章