ISPConfig - dłuższe statystyki [updated]
ISPConfig 3 generuje statystyki tylko na jeden dzień do tyłu z powodu rotacji pliku loga Apache. Sposobów na obejście jest kilka, można to obejść np. tak:
root@xeon:~/tmp# cat stats.sh
#!/bin/bash
dirwww=/home/www/
dirlog=/log/
tmp=/root/tmp/
stats=/web/stats/
fullstats=/web/stats/fullstats/
htaccess=.htaccess
webalizer=/usr/bin/webalizer
webalizer_conf=/etc/webalizer/webalizer.conf
logfile=/root/tmp/logfile.txt
cd /root/tmp
echo "Program start"
echo "START" >> $logfile
for directory in $(ls $dirwww | grep -v client)
do
echo "Generating statistics"
echo "VHost Directory:" $dirwww$directory
echo "Log Directory :" $dirwww$directory$dirlog
for curdate in {14..1}
do
pastdate=$(date --date="$curdate days ago" +%Y%m%d)
echo "Preparing " $dirwww$directory$dirlog$pastdate-access.log "(.gz)"
cp $dirwww$directory$dirlog$pastdate-access.log.gz tmp.gz >> $logfile 2>&1
gzip -d tmp.gz >> $logfile 2>&1
mv tmp $tmp$pastdate-access.log >> $logfile 2>&1
echo "Copying " $dirwww$directory$dirlog$pastdate-access.log
mv $dirwww$directory$dirlog$pastdate-access.log $tmp >> $logfile 2>&1
echo "Joining " $tmp$directory-access.log >> $logfile 2>&1
cat $tmp$pastdate-access.log >> $tmp$directory-access.log
#>> $logfile 2>&1
rm $tmp$pastdate-access.log >> $logfile 2>&1
rm tmp >> $logfile 2>&1
tm tmp.gz >> $logfile 2>&1
done
echo "Preparing log files completed"
echo "Checking destination directory"
mkdir $dirwww$directory$fullstats >> $logfile 2>&1
echo "Running WebAlizer"
$webalizer -c $webalizer_conf -n $directory -s $directory -r $directory -q -T -o $dirwww$directory$fullstats $tmp$directory-access.log >> $logfile 2>&1
echo "Synchronizing .htaccess from normal ISPConfig daily statistics"
cp $dirwww$directory$stats$htaccess $dirwww$directory$fullstats >> $logfile 2>&1
echo $directory " completed"
echo ""
done
echo "Cleaning tmp"
rm *.log
echo "Program stop"
echo "============"
echo "STOP" >> $logfile
Może nie jest to za piękne ale działa i mamy teraz statystyki 14 dni do tyłu, 30 minut pracy.


