使用定时任务结合Yii2的command每天定时生成goaccess日志
- 2204
- 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的使用示例