linux使用crontab實現PHP執行定時任務

2021-08-21 23:42:22 字數 2224 閱讀 3870

檢視: crontab -l

檔案位置: /var/spool/cron

安裝crontab:

yum install crontabs

說明:/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

檢視crontab服務狀態:service crond status

手動啟動crontab服務:service crond start

檢視crontab服務是否已設定為開機啟動,執行命令:ntsysv

加入開機自動啟動:

chkconfig –level 35 crond on

crontab命令:

功能說明:設定計時器。

語  法:crontab [-u 《使用者名稱》][配置檔案] 或 crontab [-u 《使用者名稱》][-elr]

minute hour day month dayofweek command

參  數:

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

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

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

-u《使用者名稱》

指定要設定計時器的使用者名稱。

crontab 格式:

基本格式 :

分鐘 小時 日 月 星期 命令

*

* *

* * *

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列 表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要執行的命令

記住幾個特殊符號的含義:

「*」代表取值範圍內的數字,

「/」代表」每」,

「-」代表從某個數字到某個數字,

「,」分開幾個離散的數字

# use the hash sign to prefix a comment

# +—————- minute (0 – 59)

# | +————- hour (0 – 23)

# | | +———- day of month (1 – 31)

# | | | +——- month (1 – 12)

# | | | | +—- day of week (0 – 7) (sunday=0 or 7)

# | | | | |

# * * * * * command to be executed

crontab幾個例子如下:

(1)第乙個例子。

30 21 * * * /etc/init.d/nginx restart

每晚的21:30重啟 nginx。

(2)第二個例子,也就是本教程測試的例子

* * *

* * /usr/bin/php -f /root/test.php >> test.log

每一分鐘執行/root/test.php檔案,將結果輸出到test.log中。

完成了上面基礎工作後,就來看看怎麼使用crontab定時執行php指令碼:

(1)我在/root下新建test.php檔案,內容如下:

<?php

#!/usr/bin/php -q

echo date(『y-m-d h:i:s』).」from \n」;

?>

說明:你可以用whereis php查詢php執行檔案位置。

(2)然後crontab -e編寫如下shell:

1. * *

* * * /usr/bin/php -f /root/test.php >> test.log

我們都知道crontab的粒度最小是到分鐘,但是我們還是可以通過變通的方法做到隔多少秒執行一次。

以下方法將每20秒執行一次

crontab -e

* * *

* * /bin/date

* * *

* * sleep 20; /bin/date

* * *

* * sleep 40; /bin/date

說明:需要將/bin/date更換成你的命令即可

linux實操篇 crontab 任務排程

crond排程任務 概述 任務排程 是指系統在某個時間執行的特定的命令或程式 任務排程分類 1 系統工作,有些重要的工作必須周而復始的進行。如病毒掃瞄等 2 個別使用者可能希望執行某些程式,如mysql備份 基本語法 crontab 選項 常用選項 e 編輯crontab定時任務 l 查詢cront...

linux下的crontab使用

名稱 crontab 使用許可權 所有使用者 使用方式 crontab u user file crontab u user 說明 crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。u user 是指設定指定 user 的時程表,這個前提是你必須要有...

linux中crontab的使用

1 at 一次性定時任務,僅執行一次就結束排程的命令 2 crontab 週期性定時任務 1 crontab的工作 許可權 可以通過 etc cron.allow和 etc cron.deny進行使用者限制,同時cron.allow比cron.deny的優先順序高,會先查詢cron.allow 存在...