如何使用 Cronjob 配置自动更新?

为确保您始终拥有最新的系统而无需过多干预,我们需要使用 Cronjob 配置自动更新。 手动更新可能会导致错过关键更新,您需要拥有最新的更新和补丁,以确保您的设备免受安全线程和软件错误的影响。 Cronjobs 让您有机会在特定时间间隔自动执行任务,而无需您的任何干预,从而使您的生活更轻松。

本教程是使用 Ubuntu 制作的。 但是,如果您使用任何其他 Linux 发行版,则可以在系统上安装 cron 后遵循相同的过程。 本教程的唯一区别是安装过程。

目录

在您的系统上安装 Cron

Linux 系统中的 Cron 是一种实用程序,旨在在预先指定的日期和时间在系统上安排和运行命令或脚本。 此执行脚本或命令的任务被标记为 cron 作业,它在系统的后台运行。 虽然大多数 Linux 发行版都默认安装了 cron,但如果您的 Ubuntu 系统上不存在它,您需要安装它。

在我们这样做之前,我们需要使用 apt 包管理服务更新我们的默认存储库。 为此,您需要在 Ubuntu 系统上打开终端并键入以下内容。

sudo apt update && sudo apt upgrade

现在我们有了所需的存储库,我们可以继续学习本教程。 我们将使用 apt 包管理服务在 Ubuntu 上安装 cron 实用程序。 为此,我们在终端中输入以下内容。

sudo apt install cron

可能会要求您输入密码。 此命令将在您的系统上安装玉米实用程序。

安装 Cron

现在,我们将使用 systemctl 命令启用 cron 服务在我们系统的后台运行。 这就是命令的外观。

sudo systemctl enable cron

现在 cron 实用程序已安装在我们的系统上,我们可以开始使用该实用程序为我们安排作业。

启用 Cron

crontab 配置文件在哪里?

使用 cron 实用程序安排的所有作业都存储在称为 crontab 的文件中。 每个用户的本地 crontab 保存在 /var/spool/cron/crontabs/,而系统的全局 crontab 保存在 /etc/crontab。 这将是我们用于设置自动更新的文件。

请注意,我们可以使用我们用户的本地 crontab sudo 特权。 但是,终端会提示您输入 sudo 出于安全目的,每个会话期间的用户密码。 因此,我们使用 root 用户绕过安全检查。

了解 Crontab 文件格式

存储在全局 crontab 中的作业按以下格式存储。

[minute] [hour] [day_of_month] [month] [day_of_week] [user] [command_to_run]

下表列出了语法中的字段以及每个字段的允许值。

场地 允许的值
分钟0 到 59
小时0 到 23
一个月中的哪一天1 至 31
1 至 12 日或 1 月至 12 月
星期几0 到 6 或太阳到 SAT

除此之外,您可以使用特殊字符作为 *(星号)。 这用于表示“每个”。 为了 example,如果您希望每周三下午 5 点运行命令,请使用以下条目。

0 17 * * 3 [command]

这将运行 [command] 在一周的第四天(星期三,我们使用 3,因为计算机从 0 开始计数),每个月和每个月的每一天(因为这些都用星号表示,在 17 小时 0 分钟(下午 5:00) . 一些较新的 cron 守护进程可能允许使用特殊语法。下表中给出了这些特殊条目以及它们所代表的内容。

特殊语法普通当量
@hourly0 * * * *
@日常0 0 * * *
@每周0 0 * * 0
@月刊0 0 1 * *
@每年0 0 1 1 *

现在我们了解了 cron 实用程序的工作原理,让我们设置自动更新。

使用 Cronjob 设置自定义自动更新

我们会将更新系统的工作添加到全局 crontab。 为此,我们使用首选的文本编辑器打开文件。

sudo nano /etc/crontab

输入文件后,我们会将以下命令添加到 cron 作业列表中。 这将安排系统每周三​​晚上 8 点通过 root 用户调用 apt update 和 apt upgrade。 这些详细信息将保存在一个名为 自动更新.log 供我们稍后检查。

50 19 * * 3 root /usr/bin/apt update -q -y >> /var/log/apt/automaticupdates.log
0 20 * * 3 root /usr/bin/apt upgrade -q -y >> /var/log/apt/automaticupdates.log

进行更改后,我们保存文件并退出。 现在我们已经成功地在我们的 Ubuntu 系统上设置了自动更新。 这些更新将在每周三晚上 7:50 和晚上 8:00 进行。

总结

Cron 是一个必不可少的 Linux 实用程序,旨在为您的系统管理和调度作业。 它们被广泛用于使系统上的重复性工作自动化并执行与系统维护相关的工作。 本教程旨在帮助您使用 Cronjobs 配置 Ubuntu 自动更新。 如果您有任何反馈、疑问或建议,请随时在下面的评论中与我们联系。