我有许多旧的日志文件(apache),它们跨越了我拥有的 3 个不同的 VPS 服务器,因此有不同的同名集:
旧 vps 1(2012 年 1 月 - 2012 年 3 月)-> access.log.1.gz
旧 vps 2(2012 年 4 月 - 2012 年 10 月)-> access.log.1.gz
ETC..
是否有一个 awstats 命令可以分析所有旧日志文件并生成具有正确日期的报告?在运行命令之前,我是否需要对文件进行压缩或重命名?
我有许多旧的日志文件(apache),它们跨越了我拥有的 3 个不同的 VPS 服务器,因此有不同的同名集:
旧 vps 1(2012 年 1 月 - 2012 年 3 月)-> access.log.1.gz
旧 vps 2(2012 年 4 月 - 2012 年 10 月)-> access.log.1.gz
ETC..
是否有一个 awstats 命令可以分析所有旧日志文件并生成具有正确日期的报告?在运行命令之前,我是否需要对文件进行压缩或重命名?
您可以使用该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* |"
备注:有可能,您需要清理现有的统计数据。请参阅常见问题解答-COM500。
如果您需要 Windows 版本的命令行或站点配置文件,您可以使用完全相同的语法样式:
LogFile="C:/WebRoot/MYSITE~1/traffic/aws/tools/logresolvemerge.pl C:/MYPROG~1/Apache24/logs/access/access_log.* |"
请注意对带有空格的文件夹使用 DOS 短名称。dir /x
您可以从命令行(DOS 提示符)获取文件或文件夹的 DOS 短名称。
在 Windows 中,我必须使用以下条目:(添加了“PERL”,我的安装文件夹的路径,并在管道之前包括 *.log)
LogFile="PERL C:/AWSTATS/tools/logresolvemerge.pl C:/AWSTATS/wwwroot/cgi-bin/stats/logFiles/*.log |"
对于 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
文件夹存储在该文件夹中(您可能只想暂时执行此操作,以便无法通过 Web 浏览器访问它们)awstats.mywebsite.com.conf