33

我有许多旧的日志文件(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 命令可以分析所有旧日志文件并生成具有正确日期的报告?在运行命令之前,我是否需要对文件进行压缩或重命名?

4

4 回答 4

74

您可以使用该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

于 2013-02-13T09:18:40.850 回答
8

如果您需要 Windows 版本的命令行或站点配置文件,您可以使用完全相同的语法样式:

LogFile="C:/WebRoot/MYSITE~1/traffic/aws/tools/logresolvemerge.pl C:/MYPROG~1/Apache24/logs/access/access_log.* |"

请注意对带有空格的文件夹使用 DOS 短名称。dir /x您可以从命令行(DOS 提示符)获取文件或文件夹的 DOS 短名称。

于 2014-03-08T07:35:26.487 回答
2

在 Windows 中,我必须使用以下条目:(添加了“PERL”,我的安装文件夹的路径,并在管道之前包括 *.log)

LogFile="PERL C:/AWSTATS/tools/logresolvemerge.pl C:/AWSTATS/wwwroot/cgi-bin/stats/logFiles/*.log |"

于 2014-04-07T22:09:21.300 回答
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 |"

基于:

  1. perl在您的 PATH 环境变量中
  2. 您的网站存储在D:/Websites/My Website
  3. AStatswwwroot文件夹的内容存储在一个名为Stats更深一层的文件夹中
  4. AWStats 的tools文件夹存储在该文件夹中(您可能只想暂时执行此操作,以便无法通过 Web 浏览器访问它们)
  5. 您的配置文件被命名awstats.mywebsite.com.conf
于 2020-09-12T19:13:30.763 回答