FA-2.0 shell脚本

FA的离线shell脚本

每日统计脚本

1.脚本文件:./addons/fecmall/fecfa/shell/dailyStatistics.sh

您可以每日跑一次,建议凌晨1点跑

2.功能:将当日接收的数据,进行mapreduce分析,算出来统计结果,然后将其复制到最终表中。

3.cron

您可以使用cron定时任务,cron语法参看:http://www.fecmall.com/topic/4444

Linux下执行:crontab -e

填写内容:


1 1 1 * * /bin/bash /www/web/fecshop/addons/fecmall/fecfa/shell/dailyStatistics.sh  >> /www/web_logs/fecshop/dailyStatistics.log 2>&1


1 1 1 * *: 每天的 01:01:01,执行该统计脚本

/www/web/fecshop/addons/fecmall/fecfa/shell/dailyStatistics.sh: 文件路径,请替换成您自己的文件路径

/www/web_logs/fecshop/dailyStatistics.log: 脚本执行的log日志输出,您可以替换成您自己的log文件路径, 另外,一定要设置成777文件权限,否则无法写入log

4.手动执行该脚本

cd /www/web/fecshop/addons/fecmall/fecfa/shell
sh dailyStatistics.sh 

执行sh dailyStatistics.sh,即执行前1天的数据统计

执行sh dailyStatistics.sh 7,即执行前1-7天的数据统计,也就是将7天前的每一天,都执行一遍。

手动删除历史数据

FA 在mongodb中,每天都新建一个表,如果您的空间不足,想要批量删除历史的库,那么可以手动执行该脚本

1.进入文件:@fecfa\app\console\modules\Fa\controllers\DbController.php

修改类变量

// 保留的月数。譬如只保留最近3个月的trace数据
public $retainTraceDbMonth = 3;
// 删除的月数,设置为1,代表将`三个月之前`和 `四个月之前` 之间的数据,进行删除
public $retainRemoveMonth = 1;

2.执行脚本

`cd /www/web/fecshop/addons/fecmall/fecfa/shell`
sh dropHistoryTrace.sh

执行后,将会将1步骤设置mongodb历史数据库删除掉