Crontab定时任务
Posted mr-echo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Crontab定时任务相关的知识,希望对你有一定的参考价值。
1、计划任务
定时执行程序,实现脚本中的功能,在linux是通过etc/init.d/crond这个服务来实现计划任务
2、crontab命令格式
2.1、新建www用户的crontab配置文件(crontab -u www -e)
指定用户: -u
编辑当前的crontab文件 -e
显示当前的crontab配置文件 -l
删除当前的crontab配置文件 -r
2.2、定义crontab命令
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6
特殊符号:* 范围的所有数字,/ 每 ,- 范围 , ‘,’集合
* * * * * /usr/local/sftp/packsftp/upload/script/crontab/crontab.php /usr/local/php/bin/php > /dev/null
2.3、示例
每隔30分钟,每天晚上的凌晨3点-5点:*/30 3-5 * * *
每30分钟执行一次任务 */30 * * * *
2.4、注意事项
*/30 * * * * /usr/local/php/bin/php /usr/local/sftp/packsftp/upload/script/crontab/crontab.php(linux服务器路径) > /dev/null
2.5、PHP代码的运行方式
WEB服务器(nginx/apache)
Cli cgi php a.php
Swoole 内置服务器
Symfony 内置服务器
3、案例实战
3.1、定义PHP执行环境
#!/usr/bin/env php
3.2、修改文件夹权限
Chown -R www:www /www/tasks
Chmod -R 744 /www/task
3.1、编写crontab配置文件
Crontab -u www -e
*/1 * * * * /usr/local/php/bin/php /www/task/demo.php > /dev/null 没有输出
*/1 * * * * /usr/local/php/bin/php /www/task/demo.php > /www/task/demo.log 定义输出路径
查看生成的配置文件:
/var/spool/cron/用户名
输出的文件要写权限:
产生了错误/记录日志:通过PHP代码实现
3.2、服务重启
修改了crontab配置文件不需要重启
Service crond restart
3.3、计划任务取消
Crontab -u www -e 删除需要取消的任务
Crontab -u www -r 删除计划任务
Demo.php
====================代码专区====================
#!/usr/bin/cnv php
<?php
echo "当前时间".time()."
";
=============================================
以上是关于Crontab定时任务的主要内容,如果未能解决你的问题,请参考以下文章