I recently moved the servers to a new host and for 3-4 months awstats hadn’t been working because I failed to install Geoip, so therefore every domain has between Jan and today no visitor data in awstats.
So lets import these logs, but how?
I can see that awstats.pl needs to run inside a wrapper… I can see /usr/libexec/webmin/virtualmin-awstats/run-all-awstats.pl that updates all domains…
But I’m having no luck modifying that script to temporarily read /home/$domain/logs/access_log (or ideally be able to extract the access_log.x.gz files – that would be great!)
Is there an existing script somewhere here to rebuild awstats ?? Would appreciate any help as this is urgent.
Same problem with me. Here’s the script I created. It works very well for processing all the ‘awstats’.
#!/bin/bash
source ./.bashrc
OPT_SITE=$1
if [ “$OPT_SITE” == “-” ]; then
OPT_SITE=""
fi
make sure we’re running as root
if [ “$UID” != “0” ]; then
echo “Sorry, must be root. Exiting…”
return 1
fi
for f in ls -1 /etc/awstats; do
if [ ! -L “/etc/awstats/$f” -a “$f” != “awstats.conf” -a “$f” != “awstats.conf.local” ];
then
part1=echo $f | cut -d. -f2
part2=echo $f | cut -d. -f3
site=$part1.$part2
echo “**************************************************************”
echo “updating AWstats for website $site”
/usr/lib/cgi-bin/awstats.pl -config=$site -update
fi;
done
Save and rename this script to “awstats.sh” under your home directory ; and run it like this: