问题
I have many old log files (apache) and they span 3 different VPS servers I've had so there are different sets with the same name:
old vps 1 (jan. 2012 - mar. 2012) -> access.log.1.gz
old vps 2 (apr. 2012 - oct. 2012) -> access.log.1.gz
etc..
Is there an awstats command that will analyze ALL of the old log files and generate the reports with the correct dates? And do I need to gunzip the files or rename them before I can run the command?
回答1:
You can use the logresolvemerge.pl
tool (see FAQ-COM350). Either you change the LogFile
Option in the .conf
file, or (for a one-time run) use it as argument in an update.
LogFile="/path/to/logresolvemerge.pl access.log* |"
An example (on a debian based system) for a command line update:
/usr/lib/cgi-bin/awstats.pl -update -config="example.com" -LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/apache2/access.log* |"
Remark: It is possible, that you need to clean the existing statistic-data. See FAQ-COM500.
回答2:
If you need a Windows version of this for either the command line or a site configuration file, you can use exactly the same syntax style:
LogFile="C:/WebRoot/MYSITE~1/traffic/aws/tools/logresolvemerge.pl C:/MYPROG~1/Apache24/logs/access/access_log.* |"
Note the use of DOS short names for folders with spaces. You can obtain DOS short names for a file or folder with dir /x
from the command line (DOS prompt).
回答3:
In Windows, I had to use the following entry: (added "PERL", path to my install folder, and inclue *.log before the pipe)
LogFile="PERL C:/AWSTATS/tools/logresolvemerge.pl C:/AWSTATS/wwwroot/cgi-bin/stats/logFiles/*.log |"
来源:https://stackoverflow.com/questions/13832701/how-do-i-get-awstats-to-analyze-old-log-files