Ludovic Laly, mon blog

12:26

Générer ses stats GoAccess via Logrotate

Certains utilisent un cron pour générer leurs fichiers de stats GoAccess alors qu'en parallèle ils utilisent aussi Logrotate.
Logrotate permet d’exécuter des commandes avant ou après la rotation, profitons-en pour lui demander de générer le fichier.
une seule ligne à ajouter, celle juste après le prerotate

/path/to/logs/website.access.log {
    monthly
    missingok
    rotate 24
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    prerotate
        /usr/bin/goaccess -af $1 > /path/to/stats/website-`date --date="10 days ago" +%Y-%m`.html
        if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
            run-parts /etc/logrotate.d/httpd-prerotate; \
        fi \
    endscript
    postrotate
        invoke-rc.d nginx rotate >/dev/null 2>&1
    endscript
}