明月登楼

如何使用 yum-cron 自动更新 CentOS
yum 命令是 RHEL / CentOS Linux 系统中用来安装和更新软件包的一个工具。我知道如何使用 yu...
扫描右侧二维码阅读全文
20
2018/03

如何使用 yum-cron 自动更新 CentOS

yum 命令是 RHEL / CentOS Linux 系统中用来安装和更新软件包的一个工具。我知道如何使用 yum 命令行 更新系统,但是我想用 cron 任务自动更新软件包。该如何配置才能使得 yum 使用 cron 自动更新系统补丁或更新呢?

yum.png

首先需要安装 yum-cron 软件包。该软件包提供以 cron 命令运行 yum 更新所需的文件。如果你想要每晚通过 cron 自动更新可以安装这个软件包。

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

输入以下 [yum 命令:

$ sudo yum install yum-cron

使用 CentOS/RHEL 7.x 上的 systemctl 启动服务:

$ sudo systemctl enable yum-cron.service 
$ sudo systemctl start yum-cron.service 
$ sudo systemctl status yum-cron.service

在 CentOS/RHEL 6.x 系统中,运行:

$ sudo chkconfig yum-cron on 
$ sudo service yum-cron start

yum-cronyum 的一个替代方式。使得 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
可以设置通知 email 的发件地址。注意: localhost将会被system_name` 的值代替。

email_from = root@localhost
列出发送到的 email 地址。

email_to = your-it-support@some-domain-name
发送 email 信息的主机名。

email_host = localhost
CentOS/RHEL 7.x 上不想更新内核的话,添加以下内容:

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 的说明手册。

man yum-cron

最后修改:2018 年 03 月 20 日 05 : 04 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论

10 条评论

  1. 文明

    为什么我的yum里没有可用软件包yum-cron

    1. 明月登楼
      @文明

      只有一个原因,你的yum源不完整!

  2. 懿古今

    对系统不熟,所以操作系统、nginx和PHP都不敢升级

    1. 明月登楼
      @懿古今

      哈哈,其实没有那么可怕的!LNMP包里提供了非常完整和安全的升级更新脚本的!

  3. 神券网

    一点都看不懂。。好难啊

    1. 明月登楼
      @神券网

      ୧(๑•̀⌄•́๑)૭好吧,这个我不发表评论了!

  4. Jeffrey

    好难emmmm

    1. 明月登楼
      @Jeffrey

      呵呵,这有啥难的呀,就是装个应用而已嘛!

  5. 薅羊毛

    好复杂的说

    1. 明月登楼
      @薅羊毛

      呵呵,这个习惯就好了!