Run the below commands to download, unzip, make executable, and execute the script on your server:
# wget http://kb.sp.parallels.com/Attachments/kcs-10115/rebuild_awstats.zip # unzip rebuild_awstats.zip # chmod u+x rebuild_awstats.sh # ./rebuild_awstats.sh
If no arguments are supplied, the script will display "Help". See more information on how the script works below.
For each specified domain (or for all domains if the -A option is used), learn the log files' start date. Remove the AWstats data files for months covered by the log file and rebuild them with information from the logs. Then, build static pages with a statistics summary for every month covered by the log files.
Alternatively, if the -F option is used, all data files are removed and new files are generated using information from the log files.
# ./rebuild_awstats.sh Rebuild AWstats static pages from available log files. 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. Home page: <http://kb.sp.parallels.com/en/115476>
For each processed domain, the script reports the following:
=== 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, it saves the original directories 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 needed.