我知道如何使用 yum 命令行 更新系統,可是我想用 cron 任務自動更新軟件包。該如何配置才能使得 yum 使用 cron 自動更新系統補丁或更新呢?
首先須要安裝 yum-cron 軟件包。該軟件包提供以 cron 命令運行 yum 更新所需的文件。若是你想要每晚經過 cron 自動更新能夠安裝這個軟件包。
CentOS/RHEL 6.x/7.x 上安裝 yum cron
輸入如下 [yum 命令][3]:html
$ sudo yum install yum-cron
使用 CentOS/RHEL 7.x 上的 systemctl 啓動服務:linux
$ sudo systemctl enable yum-cron.service $ sudo systemctl start yum-cron.service $ sudo systemctl status yum-cron.service
在 CentOS/RHEL 6.x 系統中,運行:centos
$ sudo chkconfig yum-cron on $ sudo service yum-cron start
yum-cron 是 yum 的一個替代方式。使得 cron 調用 yum 變得很是方便。該軟件提供了元數據更新、更新檢查、下載和安裝等功能。yum-cron 的各類功能能夠使用配置文件配置,而不是輸入一堆複雜的命令行參數。bash
配置 yum-cron 自動更新 RHEL/CentOS Linux
使用 vi 等編輯器編輯文件 /etc/yum/yum-cron.conf 和 /etc/yum/yum-cron-hourly.conf:app
$ sudo vi /etc/yum/yum-cron.conf
確保更新可用時自動更新:dom
apply_updates = yes
能夠設置通知 email 的發件地址。注意: localhost將會被system_name` 的值代替。編輯器
email_from = root@localhost
列出發送到的 email 地址。this
email_to = your-it-support@some-domain-name
發送 email 信息的主機名。url
email_host = localhost
[CentOS/RHEL 7.x][4] 上不想更新內核的話,添加如下內容:centos7
exclude=kernel*
RHEL/CentOS 6.x 下添加如下內容來禁用內核更新:
YUM_PARAMETER=kernel*
保存並關閉文件。若是想每小時更新系統的話修改文件 /etc/yum/yum-cron-hourly.conf,不然文件 /etc/yum/yum-cron.conf 將使用如下命令天天運行一次(使用 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 的說明手冊。