关于PHP中的定时任务crontab详解
假定定时执行的文件在/www/task/文件夹中,则
1. 创建定时任务需要执行的文件task.php
<?php
$time = date('Y-m-d H:i:s ',time());
$filename = '/var/tmp/task/task_test.txt';
file_put_contents($filename, $time,FILE_APPEND);
?>
2. 修改文件所属文件权限:
chown -R www:www /www/task/ //将任务执行的脚本定义为www用户有权限执行
chmod -R 744 /www/task/
3. 打开crontable定时任务编辑器
crontab -u www -e //编辑www用户的定时任务文件
4. 编辑定时任务文件
格式: 运行脉搏-即时间间隔 要用什么程序执行定时任务的脚本 脚本所在地址路径 每次执行后的结果写入到指定日志文件中
注: 路径需要写绝对路径,且日志写入文件需要有”写"的权限
1. 如果不需要保存任务执行日志,则
*/1 * * * * /usr/local/php/bin/php /www/task/task.php > /dev/null
2. 如果需要保存任务执行日志,则
*/1 * * * * /usr/local/php/bin/php /www/task/task.php >> /var/log/task/task.log
5. 编辑完成后,重启crond服务
service crond restart //CentOS6.x
systemctl restart crond //CentOS7.x
6. 任务列表查看:
crontab -u www -l //查看www用户下的任务列表
7. 删除任务
1. 删除指定任务: crontab -u www -e //编辑,删除指定任务即可
2. 删除所有任务: crontab -u www -r //慎用,会删除www用户所有任务
删除任务后,记得重启crond