近期寫了一個PHP腳本,須要天天執行,因而就想到了計劃任務,這個功能由於會比較經常使用,因此在此記下一筆。php
1、首先寫好你的PHP腳本,好比test.php,個人PHP腳本是須要網址訪問的,放在網站的根目錄,(如:http://www.aaa.com/test.php),固然你也能夠是其它路徑,此處路徑寫正確便可。
centos
2、找到你的crontab的文件位置,而且在其中調用你的PHP腳本瀏覽器
一、crontab的文件位置通常在/var/spool/cron/下,若是你是root用戶,那下面有個root文件,建議平常備份,避免誤刪除致使crontab 文件丟失;curl
二、打開root文件,添加調用PHP腳本命令
網站
*/5 * * * * /usr/bin/curl -o temp.txt https://www.aaa.com/test.php
url
//第5分鐘執行一次test.php
spa
【備註:添加方式有多種,此處可自行選擇,如下列出幾種供你們參考:】命令行
(1):在Crontab中使用PHP執行腳本rest
00 * * * * /usr/local/bin/php /home/john/test2.php //每小時執行一次test2.php日誌
/usr/local/bin/php爲PHP程序的路徑 /home/john/test2.php爲執行腳本的絕對路徑
(2):在Crontab中使用URL執行腳本
若是你的PHP腳本能夠經過URL觸發,你可使用lynx或curl或wget來配置你的Crontab。
方一:00 * * * * lynx -dump https://www.aaa.com/test.php
//每小時執行一次test.php
【Lynx文本瀏覽器默認使用對話方式打開URL,咱們在lynx命令行中使用-dump選項來把URL的輸出轉換來標準輸出。】
方二:*/5 * * * * /usr/bin/curl -o temp.txt https://www.aaa.com/test.php
//使用CURL訪問URL來每5分執行一次test.php
【Curl默認在標準輸出顯示輸出。使用」curl -o」選項,你也能夠把腳本的輸出轉儲到臨時文件。】
方三: */10 * * * * /usr/bin/wget -q -O temp.txt https://www.aaa.com/test.php
//使用WGET訪問URL來每10分執行PHP腳本
【-q選項表示安靜模式。」-O temp.txt」表示輸出會發送到臨時文件】
crontab的格式以下面:
f1 f2 f3 f4 f5 program
其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行程式的路徑。
當 f1 爲 * 時表示每分鐘都要執行 program,f2 爲 * 時表示每小時都要執行程式,其他類推
當 f1 爲 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 爲 a-b 時表示從第 a 到第 b 小時都要執行,其他類推
當 f1 爲 */n 時表示每 n 分鐘個時間間隔執行一次,f2 爲 */n 表示每 n 小時個時間間隔執行一次,其他類推
當 f1 爲 a, b, c,… 時表示第 a, b, c,… 分鐘要執行,f2 爲 a, b, c,… 時表示第 a, b, c…個小時要執行,其他類推
3、檢查是否執行腳本,如不成功,可到日誌查看
默認狀況下,crontab中執行的日誌寫在/var/log下,如:/var/log/cron /var/log/cron.1 /var/log/cron.2
如crontab 沒有成功,檢測crontab 服務是否啓動,
/etc/init.d/crond status //查看狀態
/etc/init.d/crond restart //重啓cron
cron 是系統守護進程,位置:/etc/init.d/crond參數:startstoprestartreload