PHP程序员

一个计划任务实现每日与每月的定时统计

2020-12-16  本文已影响0人  php转go

遇到过一个需求,每天0点统计上一天的数据,每个月1号统计上一个月的总数据
一般情况下,为了方便,会直接创建两个计划任务
我觉得一个sh文件就能解决的问题,就没必须搞两个计划任务
介于我是PHP开发,我用的是THINKPHP框架,用的是CLI运行模式
当然也有PHPer喜欢用计划任务 curl 访问链接的方式,至于哪种方式比较好,见仁见智啦
计划任务设置

0 0  * * *  sh  xxx/xxxx/xxx.sh >> log.txt
#如果设置curl访问链接方式
0 0  * * *  curl  https://xxx.com/xxx/xxx

shell文件内容

#!/bin/bash
basePath=../;

time=$1;
if  [ ! -n "$time" ] ;then
#如果没有传具体日期,就默认昨天
  time=$(date "+%Y%m%d" -d  "-1 days");

fi

today=${time:0-2:2} #从右边第2个字符开始截取,一直到结束,得到日期。

first='01';
#切换到站点根目录
cd $basePath;
#执行每天定时数据统计,daily 为自定义指令
php think daily $time
  #如果是01号
 if  [ $today == $first ]

then
#执行每个月定时数据统计
php think monthly $time

fi
上一篇下一篇

猜你喜欢

热点阅读