# 說明
Linux crontab是用來定期執行程序的命令。
當安裝完成操作系統之后,默認便會啟動此任務調度命令。
crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
而linux任務調度的工作主要分為以下兩類:
- 1、系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
- 2、個人執行的工作:某個用戶定期要做的工作,例如每隔10分鐘檢查郵件服務器是否有新信,這些工作可由每個用戶自行設置
# 命令說明
```
crontab [ -u <用戶名>] { -e | -l | -r }
```
- `-u <用戶名>` 指定要操作的用戶, 可空, 默認當前用戶
- `-e` 編輯定時任務
- `-l` 列出用戶的定時任務
- `-r` 刪除該用戶的定時任務
## 定時任務語法
```
minute hour day month week command
分 小時 日 月 周 執行的命令
```
- `minute`表示分鐘 (0~59)
- `hour` 表示小時 (0~23)
- `day`表示日期 (1~31)
- `month` 表示月份 (1~12)
- `week` 表示星期幾 (0~6) 0/7代表周日
> `*`代表所有可能的值
## 例子
```
# 每天凌晨執行
0 0 * * * echo "hello"
# 每10分鐘進行一次
*/10 * * * * echo "hello"
```
## 參考資料
- [如何寫一個定時執行的shell腳本](https://andyliwr.github.io/2018/05/03/how_to_write_a_timed_shell/)