本篇文章主要是介紹linux下使用Crontab實現PHP指令碼定時任務 ,現在分享給大家,也給有需要的朋友一個參考,一起過來看一看吧
1、準備工作,建立1個資料表"company_test",欄位包括員工姓名,部門,聯絡電話,主管
DROP TABLE IF EXISTS `company`;CREATE TABLE `company_test` ( `id` int(255) NOT NULL AUTO_INCREMENT, `ename` varchar(100) DEFAULT NULL, `department` varchar(255) DEFAULT NULL, `phone` varchar(20) DEFAULT NULL, `charge` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
2、建立1個PHP指令碼"insert_test.php",實現往資料表中插入的操作,這個指令碼可以放到任何位置。ps:建議不放到wwwroot根目錄下,因為這樣的話,使用者可以通過URl就可以進行訪問了,這樣的安全性不高,但是有一些方便之處,我們使用內建的一些php架構,例如CI、TP等,也可以使用自己封裝的一些業務通用類!綜合考慮實際情況進行決定。
<?php $con = mysqli_connect("localhost","root","Idodopass01!"); if(mysqli_select_db("company_test",$con)){try{$result = mysqli_query("insert into company_test (ename,department,phone,charge)values('A','AA','xxx xxxx xxxx','AAA')");}//捕獲異常catch(Exception $e){ echo 'Message: ' .$e->getMessage();}}mysql_close($con);?>
3、查看/etc/crontab檔案
vim /etc/crontab
4、建立Crontab任務(Crontab格式如下)
***檔案/etc/crontab中每行任務的描述格式如下:
****minute hour day month dayofweek command
******minute - 從0到59的整數
******hour - 從0到23的整數
******day - 從1到31的整數 (必須是指定月份的有效日期)
******month - 從1到12的整數 (或如Jan或Feb簡寫的月份)
******dayofweek - 從0到7的整數,0或7用來描述周日 (或用Sun或Mon簡寫來表示)
******command - 需要執行的命令(可用as ls /proc >> /tmp/proc或 執行自訂指令碼的命令)
crontab -e
*/5 * * * * /usr/local/php/bin/php /home/wwwroot/default/insert_test.php // 每五分鐘執行一次插入SQL的指令碼
相關資料:https://blog.csdn.net/anphper/article/details/79798479