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

lqp 2018-05-15

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

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

在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 ~]$

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

如果您正在使用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

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

确保更新应该在可用时应用

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! 如果您有任何问题或意见,请随时在下面发表评论。

相关推荐

TiDBPingCAP / 0评论 2020-07-29