码迷,mamicode.com
首页 > 其他好文 > 详细

Crontab定时任务

时间:2018-06-10 11:39:50      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:输出   dev   文件夹   inux   /dev/null   计划   运行   定时任务   chown   

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()."\n";

=============================================

Crontab定时任务

标签:输出   dev   文件夹   inux   /dev/null   计划   运行   定时任务   chown   

原文地址:https://www.cnblogs.com/Mr-Echo/p/9162296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!