How to recalculate AWStats web statistics from domain logs for previous months?
Run the following commands in order to download, unpack and execute the script on the server:
# wget https://kb.plesk.com/Attachments/kcs-10115/rebuild_awstats.tar.gz # tar -xzvf rebuild_awstats.tar.gz # ./rebuild_awstats.sh
If no arguments are given, the script will display "help message".
Note: for Ubuntu 14.04 as additional step the following symbolic link should be created:
# ln -s /usr/lib/plesk-9.0/logresolvemerge /usr/share/doc/awstats/examples/logresolvemerge.pl
See more information how the script works below.
For each specified domain (or all domains, if the -A option is used), the script will memorize the log file's start date. Then, it will remove AWStats data files for the months covered by the log files and rebuild them with corresponding information. Finally, the script builds static pages with a statistics summary for each month covered by the log files.
Alternatively, if the -F option is used, all data files will be removed and new files will be generated using the information from the log files.
# ./rebuild_awstats.sh Usage: ./rebuild_awstats.sh [options] [<domains...>] Options: -A --all-domains Process all domains. If this option is not specified, then list of domains to process must be provided. -F --from-scratch Remove contents of webstat/ and webstat-ssl/ directories before rebuilding statistics pages (originals are saved with numeric suffix). Statistics will be rebuilt from logs only, only for period covered by log files. If this parameter is not used, then statistics is recalculated beginning on the month on which log files start (if log starts in the middle of the month, then statistics for first half of the month will not be present.) -h --help This message.
For each processed domain, the script will report message like:
=== pp11.plesk.ru Saving: webstat* --> webstat*.9 Logs begin on Oct 27 2012 access_log* (new/old/corrupted): 9/0/0 access_ssl_log* (new/old/corrupted): 71/0/0 Rebuilding static pages: 2012-10 2012-11 2012-12 2013-01 2013-02
As you can see, the original directories are saved with a numeric suffix (the suffix is increased if the destination directory already exists). As a result, it is possible to roll-back to a previous version if it will be required.
Use this article #117731 if the script fails with the following error:
./rebuild_awstats.sh: line 210: /usr/share/awstats/tools/logresolvemerge.pl: No such file or directory ERROR: failed to merge access_log*. Skipping domain. ERROR /usr/share/awstats/wwwroot/cgi-bin/awstats.pl cannot be executed.