awstats 文档中提供了一个方法 ,需要清空过去所有的统计数据,并依次重新更新所有的历史日志;另外还包含了一个tips,不必清空所有过去的统计数据,就可以把过去遗漏的某天数据加入统计,但依然要求清空一整个月的统计数据。
这些历史统计数据保存在config 文件中DirData 参数所定义的目录中,并且是按月保存的。
awstats.micronsky.com.conf :
DirData=”./xyz”
目录包含文件:
awstats012007.micronsky.com.txt
awstats022007.micronsky.com.txt
awstats032007.micronsky.com.txt
awstats042007.micronsky.com.txt
如果4月的统计数据,仅仅漏了25日,导致了当月的数据缺乏完整性。
想要补上25日的统计数据,只有清楚4月份的统计数据文件:awstats042007.micronsky.com.txt,并从4月1日开始依次更新所有统计数据。对于上G的日志,这个工程势必是要花费很多时间和精力的。
经查看awstats 历史统计数据文件,找到解决方法,算是另外一个tips 。
以下代码片段来自4月份统计数据文件:awstats042007.micronsky.com.txt 。LastTime 参数保存了统计的http 日志条目最晚的时间(区别于运行update 的时间),我们可以通过把其他几个时间参数修改为此时间,并且重置一些条目参数来达到目的。
LastLine 20070416000000 4386 898321 47205111575
FirstTime 20070401002121
LastTime 20070412035620
LastUpdate 20070416000004 2542 0 0 0 2542
下面是修改后的条目:(修改前请先备份旧文件!)
LastLine 20070412035620 0 0 0
FirstTime 20070401002121
LastTime 20070412035620
LastUpdate 20070412035620 0 0 0 0 0
接着修改config 文件,注释掉原来的日志路径,指向到旧的日志压缩文件。
1 | #LogFile="/home/username/logs/micronsky.com/http/access.log" |
然后运行命令更新统计数据。(注意:如果设置有crontab,操作前最好先disable 任务,免得引起不期望的结果)
1 | $ ./awstats.pl -config=19.com -update |
这时刷新统计页面,已经可以看到13日的统计数据,依次在config 文件中把日志更换为13、15日的文件,并逐次运行更新,即可把所缺日志依次补回。
这种方法虽然不要求具有当天至月初的所有访问日志文件,但要求具有所补日期至当天或者至当月末的所有日志文件。