如何在 CentOS 7 上使用 yum-cron 配置自动更新

2020-04-21 17:17:56

Linux

如何在 CentOS 7 上使用 yum-cron 配置自动更新

定期更新 CentOS 系统是整个系统安全的最重要方面之一。如果您不使用最新的安全修补程序更新操作系统的包, 则会使您的计算机容易受到攻击。

如果管理多台 CentOS 计算机, 手动更新系统包可能会很耗时。即使您管理单个 CentOS 安装, 有时也可能忽略一个重要的更新。这就是自动更新派上用场的地方。

在本教程中, 我们将完成在 CentOS 7 上配置自动更新的过程。同样的说明也适用于 CentOS 6。

前提条件

在继续本教程之前, 请确保您是以具有权限的用户身份登录的。

安装 yum-cron 包

yum-cron包允许您自动将 yum 命令作为cron 作业运行, 以检查、下载和应用更新。这个软件包很有可能已经安装在您的 CentOS 系统上。如果未安装, 则可以通过运行以下命令来安装包:

sudo yum install yum-cron

安装完成后, 启用并启动服务:

sudo systemctl enable yum-cron
sudo systemctl start yum-cron

若要验证服务是否正在运行, 请键入以下命令:

systemctl status yum-cron

有关 yum-cron 服务状态的信息将显示在屏幕上:

● 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 Sat 2019-05-04 21:49:45 UTC; 8min ago
  Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
 Main PID: 2713 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/yum-cron.service

配置 yum-cron

yum-cron 附带两个配置文件, 它们存储在/etc/yum中, 每小时配置文件yum-cron.conf . conf 和每日配置文件yum-cron-hourly.conf conf。

yum-cron服务仅控制 cron 作业是否将运行。yum-cron实用程序由/etc/cron.hourly/0yum-hourly.cron chlyum-swy. cron 和/etc/cron.daily/0yum-daily.cron . dailyum-d1on. cron 文件调用。

默认情况下, 每小时 cron 配置为不执行任何操作。如果有可用的更新, 每日 cron 设置为下载, 但不安装可用的更新并向 stdout 发送消息。默认配置对于您希望在测试服务器上测试更新后接收通知并手动执行更新的关键生产系统来说已经足够了。

配置文件按部分进行结构化, 每个部分包含描述每个配置行执行的操作的注释。

要编辑 yum-cron 配置文件, 请在文本编辑器中打开该文件:

sudo nano /etc/yum/yum-cron-hourly.conf

在第一部分中, [commands]可以定义要更新的包类型, 启用消息和下载, 并设置为在更新可用时自动应用更新。默认情况下,update_cmd为默认值, 它将更新所有包。如果要设置自动无人参与更新, 建议将值更改为security, 这将告诉 yum 更新仅修复安全问题的包。

在下面的示例中, 我们将update_cmd更改为security, 并通过将apply_updates " 设置为yes启用了无人参与更新:

/etcum/um-crum-chly-chly-crlye. conf

[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360

第二部分定义了如何发送消息。要将消息发送到 stdout 和电子邮件将emit_via值更改为stdio,email.

/etcum/um-crum-chly-chly-crlye. conf

[emitters]
system_name = None
emit_via = stdio,email
output_width = 80

在[email]部分, 您可以设置发件人和收件人的电子邮件地址。请确保您有一个工具, 可以发送安装在您的系统上的电子邮件, 如 mailx 或后缀。

/etcum/um-crum-chly-chly-crlye. conf

[email]
email_from = root@centos.host
email_to = me@example.com
email_host = localhost

[base]部分允许您重写yum.conf中定义的设置。如果要从更新中排除特定包, 可以使用exclude参数。在下面的示例中, 我们排除了 [mongodb] 包。

/etcum/um-crum-chly-chly-crlye. conf

[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*

您不需要重新启动yum-cron服务就可以使更改生效。

查看日志

使用grep检查是否执行与 yum 关联的 cron 作业:

sudo grep yum /var/log/cron

输出内容:

May  4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May  4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron

Yum 更新的历史记录记录在/var/log/yum中。您可以使用tail命令查看最新的更新:

sudo tail -f  /var/log/yum.log

输出内容:

May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64

mysql php html server windows Excel Word Linux CAD

首页  返回列表

本站所有资料均来自网络,若有侵权请联系本站删除!粤ICP备18142546号