使用定时任务结合Yii2的command每天定时生成goaccess日志
- 2712
- Linux
- 0
- super_dodo
- 2020/11/25
其实每天生成有很多种方法,主流的还是推荐shell脚本。网站上有很多类似的方法,按照步骤操作即可。建议多查阅goaccess的日志。
这个dodo为了简便省事,直接使用yii2的command+crontab的形式实现每天都生成goaccess的html文档日志。可以生成多个项目的。直接上伪代码。
namespace app\commands;
use Yii;
use yii\console\Controller;
//goAccess定时任务
class GoAccessController extends Controller {
#每天晚上的23:59去定时的执行这个脚本
//59 23 * * * nohup /home/dodo_dev/yii go-access/gen-log > /home/dodo_dev/runtime/go-access_gen_log.log 2>&1 &
public function actionGenLog(){
set_time_limit(0);
ini_set('memory_limit','512M');
echo 'StartTime :'.date('Y-m-d H:i:s')."\r\n";
//每天晚上11:55去生成当天的
$todayDate = date('Ymd');
$appList[] = 'www_dodo_com_access';
$appList[] = 'www_book_net_access';
$appList[] = 'www_dodobook_net_access';
foreach ($appList as $appName){
$todayLog = "/var/log/nginx/{$appName}.log-{$todayDate}";
$todayHtml = "/home/dodo_dev/runtime/{$appName}_{$todayDate}.html";
// 再使用goaccess生成网页
$cmd = "/usr/local/bin/goaccess -f $todayLog -a > $todayHtml";
$rt = exec($cmd);
var_dump($rt);
}
echo 'End Time :'.date('Y-m-d H:i:s')."\r\n";
return true;
}
}
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例

