CentOS通过Crontab定时任务执行PHP脚本
一、业务需求
创建Crontab定时任务,通过PHP脚本每分钟写入一条数据。
二、准备测试数据
准备一张测试的数据表test:
CREATE TABLE `test` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
创建测试脚本文件Test.php,该脚本不建议放在web能直接通过url访问到的目录下,安全性不高 :
[root@VM_0_14_centos home]# pwd
/home
[root@VM_0_14_centos home]# vim Test.php
Test.php内容:
<?php
$link = mysqli_connect("127.0.0.1", "root", "123456", "testdb");
if($link){
mysqli_query($link,'insert into test (`name`) values("test")');
}
mysqli_close($link);
?>
如果脚本的命令不生效,可能是Test.php的权限不够,设置一下权限即可,如755:
[root@VM_0_14_centos home]# chmod 755 Test.php
三、创建crontab定时任务
[root@VM_0_14_centos home]# crontab -e
*/1 * * * * /www/server/php/72/bin/php /home/Test.php
四、测试
查看crontab执行记录,如果有记录则说明执行成功
[root@VM_0_14_centos home]# tail -n 10 /var/log/cron
Apr 16 10:00:01 VM_0_14_centos CROND[25269]: (root) CMD (/www/server/php/72/bin/php /home/Test.php)
3分钟后,如果脚本代码没报错,会有三条记录。