Cron 是 Linux 最有用的工具之一,也是開發者喜愛的工具,因為它允許您在特定時間、日期和間隔運行 自動化命令,使用通用和特定任務的腳本。根據這個描述,您可以想像系統管理員如何使用它來 自動化備份任務、目錄清理、通知等。
Cron 任務 在後台運行並不斷檢查 /etc/crontab
文件,以及 /etc/cron.*/
和 /var/spool/cron/
目錄。cron 文件不應直接編輯,每個用戶都有一個獨特的 crontab。
那麼,您應該如何創建和編輯 cron 任務呢?使用 crontab 命令。crontab 是您用來創建、編輯、安裝、卸載和列出 cron 任務的方法。
創建和編輯 cron 任務的命令是相同且簡單的。更酷的是,創建新文件或編輯現有文件後,您無需重新啟動 cron。
$ crontab -e
Cron語法
就像任何語言一樣,當你了解其語法時,使用cron會變得更容易,你應該知道2種格式:
A B C D E USERNAME /path/to/command arg1 arg2 OR A B C D E USERNAME /root/backup.sh
上述cron語法的解釋:
- A: Minutes range: 0 – 59
- B: Hours range: 0 – 23
- C: Days range: 0 – 31
- D: Months range: 0 – 12
- E: Days of the week range: 0 – 7. Starting from Monday, 0 or 7 represents Sunday
- 用戶名:替換為您的用戶名
- /path/to/command – 您想要安排的腳本或命令的名稱
這還不是全部。Cron使用3個運算符號,允許您在字段中指定多個值:
- 星號
(*)
:指定字段的所有可能值 - 逗號
(,)
:指定值列表 - 破折號
(-)
:指定值範圍 - 分隔符
(/)
:指定步驟值
現在您知道Cron的語法和運算符號,讓我們看一些cron示例。
Cron作業示例
運行cron命令的第一步是使用命令安裝您的crontab:
# crontab -e
每天在凌晨3點運行/root/backup.sh
:
0 3 * * * /root/backup.sh
每月第二天在下午4:30運行script.sh
:
30 16 2 * * /path/to/script.sh
每週在晚上10點運行/scripts/phpscript.php
:
0 22 * * 1-5 /scripts/phpscript.php
每天在午夜後23分鐘、凌晨2點和4點運行perlscript.pl
:
23 0-23/2 * * * /path/to/perlscript.pl
每週日在04:05運行Linux命令:
5 4 * * sun /path/to/linuxcommand
Cron選項
列出cron作業。
# crontab -l OR # crontab -u username -l
刪除所有的 crontab 任務。
# crontab -r
刪除特定使用者的 Cron 任務。
# crontab -r -u username
Crontab 中的字串
字串是開發者喜愛的東西之一,因為它們可以幫助節省時間,消除重複的寫作。Cron 有特定的字串可用於更快地創建命令:
@hourly
:每小時運行一次,即“0 * * * *“@midnight
:每天運行一次,即“0 0 * * *“@daily
:與 midnight 相同@weekly
:每週運行一次,即“0 0 * * 0“@monthly
:每月運行一次,即“0 0 1 * *“@annually
:每年運行一次,即“0 0 1 1 *“@yearly
:與 @annually 相同@reboot
:每次啟動時運行一次
例如,這是如何每天備份系統:
@daily /path/to/backup/script.sh
此時,您已經擁有所有需要使用 Cron 創建和管理系統任務的東西。您現在可以開始使用定時命令來設置和維護多個環境。
您有多大程度上使用 Cron?您是否有任何細節可以貢獻給這篇文章?討論框如下。
當您充分了解 Cron 的運作方式後,這些巧妙的「Crontab 產生器」公用程式可以協助您免費生成 Crontab 指令。
您也可以閱讀 Ubuntu 關於如何使用 Cron 的文章 在此處。其中提供了可能對您有用的資源。
Source:
https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/