首頁 > 套件與系統管理 > anacron

anacron:系統啟動後執行週期性任務

anacron 是一個為系統不總是處於運行狀態的環境(例如筆記型電腦、桌上型電腦)設計的工具,用於執行週期性任務。它確保在系統關閉期間錯過的任務,在系統重新啟動或喚醒時執行,從而防止任務丟失。這與 `cron` 類似,但提供了不依賴系統運行時間的靈活性。

概述

anacron 執行 `/etc/anacrontab` 文件中定義的每日、每週或每月任務。如果系統關閉導致錯過了任務執行時間,則在系統重新啟動時執行這些任務,以防止任務丟失。這與適合 24/7 運行伺服器環境的 `cron` 不同。

主要特點

  • 防止系統離線時任務丟失
  • 按指定週期(日/週/月)執行任務
  • 基於日誌文件追蹤上次執行時間
  • 主要適用於桌上型電腦和筆記型電腦環境

主要選項

與 anacron 命令一起使用的主要選項。

執行控制

配置/資訊

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`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 命令。

相同類別命令