Linux crontab 定時執行任務

jopen 10年前發布 | 21K 次閱讀 Linux Linux crontab

一 簡介

使用crontab你可以在指定的時間執行一個shell腳本或者一系列Linux命令。例如最近項目中需要每隔10分鐘去查詢一下訂單中的推送失敗的訂單并將其重新推送一遍。

二 crontab用法

crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)


crontab –e : 修改 crontab 文件. 如果文件不存在會自動創建。

crontab –l : 顯示 crontab 文件。

crontab -r : 刪除 crontab 文件。

crontab -i : 使用 crontab 命令前提醒用戶。


三 crontab文件格式

 {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}

minute: 區間為 0 – 59

hour: 區間為0 – 23

day-of-month: 區間為0 – 31

month: 區間為1 – 12. 1 是1月. 12是12月.

Day-of-week: 區間為0 – 7. 周日可以是0或7.


四 crontab示例

1. 在 12:01 a.m 運行,即每天凌晨過一分鐘。這是一個恰當的進行備份的時間,因為此時系統負載不大。 

1 0 * * * /root/bin/backup.sh 

2. 每個工作日(Mon – Fri) 11:59 p.m 都進行備份作業。 

59 11 * * 1,2,3,4,5 /root/bin/backup.sh 

下面例子與上面的例子效果一樣: 

59 11 * * 1-5 /root/bin/backup.sh 

3. 每5分鐘運行一次命令 

*/5 * * * * /root/bin/check-status.sh 

4. 每個月的第一天 1:10 p.m 運行 

10 13 1 * * /root/bin/full-backup.sh 

5. 每個工作日 11 p.m 運行。 0 23 * * 1-5 /root/bin/incremental-backup.sh

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!