分享编程~
 

tp5+linux定时任务crontab

thinkphp5+linux定时任务crontab

天天特卖抢好货

tp5自定义指令

tp5项目中我们用自定义指令的方式,详细参考文档:ThinkPHP5.1完全开发手册( https://www.kancloud.cn/manual/thinkphp5_1/354146)。

比如我们自定义的命令为 test ,项目开发完后我们通过shell命令:php think test  

也可以直接带目录结构的方式运行命令:php /www/wwwroot/project/think test

(windows时需要切换到项目根目录下)

如果无权限可以:sudo su -c 'php /www/wwwroot/project/think test'

比如传两个参数一个是日期一个是条数:sudo su -c 'php /www/wwwroot/project/think test 2023-08-09 10'

linux定时任务

方式一:linux定时任务执行php自定义指令

1、打开服务器的shell命令区,输入:crontab -e

2、然后回车,按一下a垫进入输入状态,把一下代码编辑进去:

0 06 * * * sudo su -c 'php /www/wwwroot/project/think test $(date -d "-1 day"  %Y-%m-%d) 100'

$(date -d "-1 day"  %Y-%m-%d) 是通过系统获取了前一天的日期,以上任务是每天的六点整运行一次,crontab时间设置请参考:https://blog.51cto.com/u_12855930/5589448 

3、按Esc键退出编辑输入 :wq 回车进行保存

4、输入 crontab -l 查看编辑的定时任务

方式二:也可以 把命令放到sh文件里,通过定时任务执行命令文件

1、打开服务器的shell命令区,输入:crontab -e

2、然后回车,按一下a垫进入输入状态,把一下代码编辑进去:

00 06 * * * /www/server/cron/test.sh >> /www/server/cron/test.log 2>&1

3、按Esc键退出编辑输入 :wq 回车进行保存

4、输入 crontab -l 查看编辑的定时任务

5、把test.sh文件里边写代码:  sudo su -c 'php /www/wwwroot/project/think test $(date -d "-1 day"  %Y-%m-%d) 100'

把test.sh文件放到 /www/server/cron/ 目录下,并赋予访问权限。

一般定时任务执行日志在以下目录下:/var/log ,cron或者其他相关文件


上一篇:AI画3D立体图标
赞(3) 踩(0)
您说多少就多少,您的支持是我最大的动力
赏金
微 信
赏金
支付宝
本文连接: https://www.yj521.com/article/220.html
版权声明: 本文为原创文章,版权归《越加网》所有,分享转载请注明出处!