作者 | Sk
譯者 | Kevin Sicong Jiang (KevinSJ) ? ? 共計翻譯:10 篇 貢獻時間:1150 天
Cron 是您可以在任何類 Unix 作業系統中找到的最有用的實用程式之一。它用於安排命令在特定時間執行。這些預定的命令或任務被稱為 “Cron 任務”。Cron 通常用於執行計劃備份、監視磁碟空間、定期刪除不再需要的檔案(例如日誌檔案)、執行系統維護任務等等。在本簡要指南中,我們將看到 Linux 中 Cron 任務的基本用法。
Cron 任務入門指南
cron 任務的典型格式是:
分鐘(0-59) 小時(0-24) 日(1-31) 月(1-12) 星期(0-6) 要執行的命令
只需記住 cron 任務的格式或列印下麵的插圖並將其放在你桌面上即可。
在上圖中,星號表示特定的時間塊。
要顯示當前登入使用者的 crontab 檔案的內容:
$ crontab -l
要編輯當前使用者的 cron 任務,請執行以下操作:
$ crontab -e
如果這是第一次編輯此檔案,會詢問你使用哪個編輯器來編輯此檔案。
no crontab for sk - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]:
選擇適合你的編輯器。這裡是一個示例 crontab 檔案的樣子。
在這個檔案中,你需要新增你的 cron 任務。
要編輯其他使用者的 crontab,例如 ostechnix,請執行:
$ crontab -u ostechnix -e
讓我們看看一些例子。
要 每分鐘 執行一次 cron 任務,需使用如下格式。
* * * * * <command-to-execute>
要每 5 分鐘執行一次 cron 任務,請在 crontab 檔案中新增以下內容。
*/5 * * * * <command-to-execute>
要在每 1/4 個小時(每 15 分鐘)執行一次 cron 任務,請新增以下內容:
*/15 * * * * <command-to-execute>
要每小時的第 30 分鐘執行一次 cron 任務,請執行:
30 * * * * <command-to-execute>
您還可以使用逗號定義多個時間間隔。例如,以下 cron 任務每小時執行三次,分別在第 0、 5 和 10 分鐘執行:
0,5,10 * * * * <command-to-execute>
每半小時執行一次 cron 任務:
*/30 * * * * <command-to-execute>
每小時執行一次:
0 * * * * <command-to-execute>
每 2 小時執行一次:
0 */2 * * * <command-to-execute>
每天執行一項(在 00:00 執行):
0 0 * * * <command-to-execute>
每天凌晨 3 點執行:
0 3 * * * <command-to-execute>
每週日執行:
0 0 * * SUN <command-to-execute>
或使用,
0 0 * * 0 <command-to-execute>
它將在每週日的午夜 00:00 執行。
星期一至星期五每天執行一次,亦即每個工作日執行一次:
0 0 * * 1-5 <command-to-execute>
這項工作將於 00:00 開始。
每個月執行一次:
0 0 1 * * <command-to-execute>
於每月第 1 天的 16:15 執行:
15 16 1 * * <command-to-execute>
每季度執行一次,亦即每隔 3 個月的第 1 天執行:
0 0 1 */3 * <command-to-execute>
在特定月份的特定時間執行:
5 0 * 4 * <command-to-execute>
每個四月的 00:05 執行。
每 6 個月執行:
0 0 1 */6 * <command-to-execute>
這個定時任務將在每六個月的第一天的 00:00 執行。
每年執行:
0 0 1 1 * <command-to-execute>
這項 cron 任務將於 1 月份的第一天的 00:00 執行。
我們也可以使用以下字串來定義任務。
@reboot
在每次啟動時執行一次。 @yearly
每年執行一次。 @annually
(和 @yearly
一樣)。 @monthly
每月執行一次。 @weekly
每週執行一次。 @daily
每天執行一次。 @midnight
(和 @daily
一樣)。 @hourly
每小時執行一次。
例如,要在每次重新啟動伺服器時執行任務,請將此行新增到您的 crontab 檔案中。
@reboot <command-to-execute>
要刪除當前使用者的所有 cron 任務:
$ crontab -r
還有一個名為 crontab.guru[1] 的專業網站,用於學習 cron 任務示例。這個網站提供了很多 cron 任務的例子。
有關更多詳細資訊,請檢視手冊頁。
$ man crontab
那麼,就是這樣。到此為止,您應該對 cron 任務以及如何在世使用它們有了一個基本的瞭解。後續還會介紹更多的優秀工具。敬請關註!!
乾杯!
via: https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/
作者:SK[3] 選題:lujun9972 譯者:KevinSJ 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出