crontab定時任務使用

2022-02-04 12:13:47 字數 2266 閱讀 5405

經常會需要一些週期性的定時處理任務,php不是常駐記憶體工作的,這時候linux的crontab就派上作用了,定時執行php程式。

市面上基本所有php框架都支援控制台程式,tp5、yii都有。當然也可以php**。

切入正題

參  數: 

-e  編輯該使用者的計時器設定。 

-l  列出該使用者的計時器設定。 

-r  刪除該使用者的計時器設定。 

-u《使用者名稱》  指定要設定計時器的使用者名稱。

開啟服務

service crond start

編輯任務

crontab -e

顯示任務列表

crontab -l

每分鐘執行

*/1 * * * * date >> /root/data.txt

每兩分鐘執行

*/2 * * * * date >> /root/data.txt

23點~7點每小時執行

0 23-7/1 * * * date >> /root/data.txt

23點~7點任何一分鐘執行

* 23-7/1 * * * date >> /root/data.txt

* 任何時候

a,b,c a或b或c時候

a-b a到b時候

*/a 每a執行一次

每次新增任務後,記得重啟任務服務,使之生效

service crond restart

crontab基本操作命令:

crontab -l // 列出某個使用者cron服務的詳細內容

crontab -e // 編輯某個使用者的cron服務

crontab -u // 設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數

crontab -r // 刪除沒個使用者的cron服務

比如說root檢視自己的cron設定:crontab -u root -l

基本用法:

crontab檔案格式:

o minute: 區間為 0 – 59

o hour: 區間為0 – 23

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

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

o day-of-week: 區間為0 – 7. 週日可以是0或7.

在以上各個欄位中,還可以使用以下特殊字元:

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」

中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」

正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。

示例:下面是每隔多少分鐘,每隔多少小時,每天/每週/每月/每年的crontab的歸納總結

每五分鐘執行 */5 * * * *每五小時執行 0 */5 * * *每天執行 0 0 * * *每週執行 0 0 * * 0每月執行 0 0 1 * *每年執行 0 0 1 1 *

如果說是每個月的每隔10天來執行某個指令碼的話,同樣可以寫成:

# 每個月的1號,11號,21號,31號,執行http服務重啟

0 0 */10 * * /etc/init.d/service restart

# 下午6點到早上6點,每隔15分鐘執行一次指令碼

0,15,30,45 18-06 * * * /bin/bash /home/script.sh > /dev/null 2>&1

# 每兩小時,重啟一次服務

* */2 * * * /etc/init.d/service restart

# 每天凌晨過一分鐘。這是乙個恰當的進行備份的時間,因為此時系統負載不大。

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

# 每個工作日(mon – fri) 11:59 p.m 都進行備份作業。

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

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

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

# 每5分鐘執行一次命令

*/5 * * * * /root/bin/test.sh

定時任務使用

1.我本地字符集異常,導致開啟定時任務亂碼 bash warning setlocale lc ctype cannot change locale utf 8 no such file or directory 因為我終端為zsh,所以需要 vim zshrc 設定字符集 export lc al...

centos crontab(定時任務) 使用

一 介紹 crontab命令的功能是在一定的時間間隔排程一些命令的執行。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crond命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。三 cron檔案 1 檔案格式 minute hour day month dayofw...

crontab定時任務

今天工作項有個任務是讓ubuntu定時執行某個指令碼,對postgresql資料庫進行定時備份。linux 系統都有個cron定時任務的機制。今天做些筆記,以便日後翻查。注意 cron機制是有個使用者系統的概念的,即分系統cron和使用者cron,每個使用者所執行的cron任務可能不同。1.以roo...