Linux 排程設定(crontab)

  • linux 排程設定。
  • linux crontab 設定。
  • linux 自動工作設定
  • crontab 設定。

夠了哦!!

查看與編輯

查看自己 crontab

1
crontab -l

查看指定使用者的 crontab

1
sudo crontab -u username -l

編輯自己的 crontab

1
crontab -e

編輯指定使用者的 crontab

1
sudo crontab -u username -e

刪除所有 crontab – 注意: 是所有!!!

1
crontab -r

設定

crontab 設定中,每一行設定就代表一個定期排程。

基本設定

格式如下:

1
MIN HOUR DOM MON DOW CMD 
欄位 說明 解說
MIN 分鐘 0 - 59
HOUR 小時 0 - 23
DOM 1 - 31
MON 1 - 12,可用英文縮寫 Ex: Jan
DOW 星期 0 - 707 的是星期日。也可用英文縮寫 Ex: Sun
CMD 執行指令 任何可執行的程式或指令稿。

特殊符號

字元 說明
*(星號) 代表接受任意時刻。 若在月份那一欄填入星號,則代表每一月份皆會執行指令。
,(逗號) 代表分隔時段。 如果要下達的工作是 3:00 與 6:00 時,就會是: 0 3,6 * * * CMD
-(減號) 代表一段時間範圍內。 8 點到 12 點之間的每小時的 20 分都進行一項工作:20 8-12 * * * CMD
/n(斜線) n 代表數字,亦即是『每隔 n 單位間隔』的意思,例如每五分鐘進行一次,則:*/5 * * * * CMD

開始設定

由於需要設定的內容很多又不方便記憶,所以可以將下列註解貼在開頭。

1
2
3
4
5
6
7
# ┌───────────── 分鐘   (0 - 59)
# │ ┌─────────── 小時 (0 - 23)
# │ │ ┌───────── 日 (1 - 31)
# │ │ │ ┌─────── 月 (1 - 12)
# │ │ │ │ ┌───── 星期幾 (0 - 7,0 是週日,6 是週六,7 也是週日)
# │ │ │ │ │
# * * * * * command

以下是一些基本的範例,指令為寫入觸發時間

注意: 確認執行路徑是否可行,可先將 cmd 指令拿去執行看是否可行。

1
2
# 輸出觸發時間至指定位置
date >> ~/text.txt
1
2
3
4
5
6
7
8
# 每五分鐘執行一次
*/5 * * * * date >> ~/text.txt

# 每日早上 8 點到 12 點,整點執行
0 8-12 * * * date >> ~/text.txt

# 每月 1 日 、15 日、29 日 凌晨五點各執行一次
0 5 1,15,29 * * date >> ~/text.txt

設定好後儲存,即可生效!

實用工具

Author

LinYoYo

Posted on

2021-03-12

Updated on

2021-03-12

Licensed under