> 软件包与系统管理 > anacron

anacron: 系统启动后执行周期性任务

anacron 是一个实用程序,旨在在系统不总是处于开启状态的环境(例如笔记本电脑、台式机)中执行周期性任务。它通过在系统关闭期间错过的任务在系统重新启动或唤醒时执行,从而防止任务丢失。这类似于 `cron`,但提供了不依赖于系统运行时间的灵活性。

概述

anacron 会执行 `/etc/anacrontab` 文件中定义的每日、每周或每月任务。如果系统关闭导致错过任务执行时间,则在系统重新启动时执行这些任务,以防止任务丢失。这与适用于服务器等 24/7 运行系统的 `cron` 不同。

主要特点

  • 防止在系统不运行时丢失任务
  • 按指定周期(日/周/月)执行任务
  • 基于日志文件跟踪上次执行时间
  • 主要适用于台式机和笔记本电脑环境

主要选项

与 anacron 命令一起使用的主要选项。

执行控制

配置/信息

生成的命令:

请尝试组合命令。

描述:

`anacron` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

anacron 的一些常见用法示例。

手动运行 anacron

sudo anacron -s

手动执行 anacrontab 中定义的所有任务。它会在系统启动时自动运行,但您也可以根据需要手动触发它。

查看 anacrontab 文件

cat /etc/anacrontab

查看定义 anacron 任务的配置文件。

以调试模式运行

sudo anacron -d

以调试模式运行 anacron,以获取有关其正在执行哪些任务的详细信息。

仅更新时间戳而不执行任务

sudo anacron -u

不实际执行任务,而是将 anacron 上次执行任务的时间更新为当前时间。这在您想跳过特定任务时很有用。

安装

anacron 通常作为 `cronie` 或 `vixie-cron` 包的一部分预装在大多数 Linux 发行版中。如果尚未安装,您可以使用以下命令进行安装。

基于 Debian/Ubuntu

sudo apt update && sudo apt install cronie

使用 apt 包管理器安装 `cronie` 包。

基于 RHEL/CentOS/Fedora

sudo dnf install cronie
# 或
sudo yum install cronie

使用 dnf 或 yum 包管理器安装 `cronie` 包。

提示与注意事项

使用 anacron 时的一些有用提示和注意事项。

主要配置文件和目录

控制 anacron 行为的主要文件和目录。

  • /etc/anacrontab: 主配置文件,其中定义了 anacron 任务的周期、延迟、任务标识符和要执行的命令。
  • /var/spool/anacron/: 存储每个任务上次执行时间戳文件的目录。anacron 使用此文件来确定任务是否已错过。

与 cron 的区别

`cron` 在系统始终开启时按预定时间执行任务,而 `anacron` 则在系统关闭导致错过任务时,在系统启动后经过延迟(delay)后执行。因此,它更适合笔记本电脑或台式机等系统不总是运行的环境。`anacron` 可以与 `cron` 一起使用,`cron` 可以配置为定期运行 `anacron` 来检查错过的任务。

anacrontab 文件结构

`anacrontab` 文件中的每一行都遵循 `period delay job-identifier command` 格式。

  • period: 任务的执行周期(例如,1 表示每日,7 表示每周,@monthly 表示每月)。
  • delay: 系统启动后执行任务之前的等待时间(分钟)。有助于减少系统负载。
  • job-identifier: 用于标识任务的唯一字符串。此名称将在 `/var/spool/anacron/` 中创建时间戳文件。
  • command: 要实际执行的 shell 命令。

相同类别命令