我有很多旧的日志文件(apache),它们跨越我已经拥有的3个不同的VPS服务器,因此有不同的名称具有相同的名称:
old vps 1(jan.2012 - mar.2012) - > access.log.1.gz
old vps 2(apr.2012 - oct.2012) - > access.log.1.gz
等。
是否有一个awstats命令可以分析所有旧日志文件并生成具有正确日期的报告?在运行命令之前,我是否需要对文件进行gunzip或重命名?
答案 0 :(得分:65)
您可以使用logresolvemerge.pl
工具(请参阅FAQ-COM350)。要么更改LogFile
文件中的.conf
选项,要么(对于一次性运行)将其用作更新中的参数。
LogFile="/path/to/logresolvemerge.pl access.log* |"
命令行更新的示例(在基于debian的系统上):
/usr/lib/cgi-bin/awstats.pl -update -config="example.com" -LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/apache2/access.log* |"
备注:您可能需要清理现有的统计数据。见FAQ-COM500。
答案 1 :(得分:6)
如果您需要命令行或站点配置文件的Windows版本,则可以使用完全相同的语法样式:
LogFile="C:/WebRoot/MYSITE~1/traffic/aws/tools/logresolvemerge.pl C:/MYPROG~1/Apache24/logs/access/access_log.* |"
请注意对包含空格的文件夹使用DOS短名称。您可以从命令行(DOS提示符)获取DIR / X文件或文件夹的DOS短名称。
答案 2 :(得分:2)
在Windows中,我不得不使用以下条目:(添加“PERL”,我的安装文件夹的路径,以及在管道之前包含* .log)
LogFile =“PERL C:/AWSTATS/tools/logresolvemerge.pl C:/ AWSTATS / wwwroot / cgi-bin / stats / logFiles / * .log |”
答案 3 :(得分:0)
对于Windows上的IIS安装,可以在命令提示符下运行以下命令:
perl "D:/Websites/My Website/Stats/cgi-bin/awstats.pl" -update -config="mywebsite.com" -LogFile="perl \"D:/Websites/My Website/Stats/tools/logresolvemerge.pl\" C:\inetpub\logs\LogFiles\W3SVC1\*.log |"
基于:
perl
位于您的PATH环境变量中D:/Websites/My Website
wwwroot
文件夹的内容存储在更深一层的名为Stats
的文件夹中tools
文件夹存储在该文件夹中(您可能只希望暂时执行此操作,以便无法通过网络浏览器访问它们)awstats.mywebsite.com.conf