歡迎光臨
每天分享高質量文章

Cron 任務入門指南 | Linux 中國

Cron 通常用於執行計劃備份、監視磁碟空間、定期刪除不再需要的檔案(例如日誌檔案)、執行系統維護任務等等。在本簡要指南中,我們將看到 Linux 中 Cron 任務的基本用法。
— Sk


致謝
編譯自 | https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/ 
 作者 | Sk
 譯者 | Kevin Sicong Jiang (KevinSJ) ? ? 共計翻譯:10 篇 貢獻時間:1150 天

Cron 是您可以在任何類 Unix 作業系統中找到的最有用的實用程式之一。它用於安排命令在特定時間執行。這些預定的命令或任務被稱為 “Cron 任務”。Cron 通常用於執行計劃備份、監視磁碟空間、定期刪除不再需要的檔案(例如日誌檔案)、執行系統維護任務等等。在本簡要指南中,我們將看到 Linux 中 Cron 任務的基本用法。

Cron 任務入門指南

cron 任務的典型格式是:

  1. 分鐘(0-59) 小時(0-24) 日(1-31) 月(1-12) 星期(0-6) 要執行的命令

只需記住 cron 任務的格式或列印下麵的插圖並將其放在你桌面上即可。

在上圖中,星號表示特定的時間塊。

要顯示當前登入使用者的 crontab 檔案的內容:

  1. $ crontab -l

要編輯當前使用者的 cron 任務,請執行以下操作:

  1. $ crontab -e

如果這是第一次編輯此檔案,會詢問你使用哪個編輯器來編輯此檔案。

  1. no crontab for sk - using an empty one

  2. Select an editor. To change later, run 'select-editor'.

  3. 1. /bin/nano easiest

  4. 2. /usr/bin/vim.basic

  5. 3. /usr/bin/vim.tiny

  6. 4. /bin/ed

  7. Choose 1-4 [1]:

選擇適合你的編輯器。這裡是一個示例 crontab 檔案的樣子。

在這個檔案中,你需要新增你的 cron 任務。

要編輯其他使用者的 crontab,例如 ostechnix,請執行:

  1. $ crontab -u ostechnix -e

讓我們看看一些例子。

要 每分鐘 執行一次 cron 任務,需使用如下格式。

  1. * * * * * <command-to-execute>

要每 5 分鐘執行一次 cron 任務,請在 crontab 檔案中新增以下內容。

  1. */5 * * * * <command-to-execute>

要在每 1/4 個小時(每 15 分鐘)執行一次 cron 任務,請新增以下內容:

  1. */15 * * * * <command-to-execute>

要每小時的第 30 分鐘執行一次 cron 任務,請執行:

  1. 30 * * * * <command-to-execute>

您還可以使用逗號定義多個時間間隔。例如,以下 cron 任務每小時執行三次,分別在第 0、 5 和 10 分鐘執行:

  1. 0,5,10 * * * * <command-to-execute>

每半小時執行一次 cron 任務:

  1. */30 * * * * <command-to-execute>

每小時執行一次:

  1. 0 * * * * <command-to-execute>

每 2 小時執行一次:

  1. 0 */2 * * * <command-to-execute>

每天執行一項(在 00:00 執行):

  1. 0 0 * * * <command-to-execute>

每天凌晨 3 點執行:

  1. 0 3 * * * <command-to-execute>

每週日執行:

  1. 0 0 * * SUN <command-to-execute>

或使用,

  1. 0 0 * * 0 <command-to-execute>

它將在每週日的午夜 00:00 執行。

星期一至星期五每天執行一次,亦即每個工作日執行一次:

  1. 0 0 * * 1-5 <command-to-execute>

這項工作將於 00:00 開始。

每個月執行一次:

  1. 0 0 1 * * <command-to-execute>

於每月第 1 天的 16:15 執行:

  1. 15 16 1 * * <command-to-execute>

每季度執行一次,亦即每隔 3 個月的第 1 天執行:

  1. 0 0 1 */3 * <command-to-execute>

在特定月份的特定時間執行:

  1. 5 0 * 4 * <command-to-execute>

每個四月的 00:05 執行。

每 6 個月執行:

  1. 0 0 1 */6 * <command-to-execute>

這個定時任務將在每六個月的第一天的 00:00 執行。

每年執行:

  1. 0 0 1 1 * <command-to-execute>

這項 cron 任務將於 1 月份的第一天的 00:00 執行。

我們也可以使用以下字串來定義任務。

@reboot 在每次啟動時執行一次。 @yearly 每年執行一次。 @annually(和 @yearly一樣)。 @monthly 每月執行一次。 @weekly 每週執行一次。 @daily 每天執行一次。 @midnight (和 @daily 一樣)。 @hourly 每小時執行一次。

例如,要在每次重新啟動伺服器時執行任務,請將此行新增到您的 crontab 檔案中。

  1. @reboot <command-to-execute>

要刪除當前使用者的所有 cron 任務:

  1. $ crontab -r

還有一個名為 crontab.guru[1] 的專業網站,用於學習 cron 任務示例。這個網站提供了很多 cron 任務的例子。

有關更多詳細資訊,請檢視手冊頁。

  1. $ man crontab

那麼,就是這樣。到此為止,您應該對 cron 任務以及如何在世使用它們有了一個基本的瞭解。後續還會介紹更多的優秀工具。敬請關註!!

乾杯!


via: https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/

作者:SK[3] 選題:lujun9972 譯者:KevinSJ 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂

© 2024 知識星球   網站地圖