Rotation des logs après l'analyse statistique
Par Yves Tannier le samedi, mars 26 2005, 10:20 - Le codage - Lien permanent
Je me suis pas mal pris la tête sur ce problème. Il s'agit d'archiver les logs brut du serveur web Apache compressés en gzip, toutes les nuits après la génération des statistiques par AWStats. Ceci pour une historisation des journaux qui laisse la possibilité de, par exemple, recalculer les statistiques annuelles avec autre choses que AWStats.
La solution est en fait assez simple : il suffit de préciser à logrotate qu'il doit exécuter un script avant d'archiver. Voici donc la configuration de logrotate sur le serveur en question :
/home/web/*/logs*/access_log {
notifempty
daily
rotate 31
compress
sharedscripts
prerotate
/home/cgi-stats/tools/awstats_updateall.pl now -awstatsprog=/home/cgi-stats/awstats.pl -configdir=/home/cgi-stats/
endscript
postrotate
/usr/bin/killall -HUP httpd
endscript
}
/home/web/*/logs*/error_log {
notifempty
weekly
rotate 4
compress
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Pour comprendre l'utilisation des jokers (*), voici comment sont organisés les fichiers du serveur web :
/home/web/domaine.tld/logs/acces_log
/home/web/domain.tld/logs/error_log
Enfin, le script awstats_updateall.pl permet de lancer l'analyse statistique pour tous les domaines en même temps.
Pour le détail sur logrotate, je vous renvois au man
. Et on me souffle dans l'oreillette que cronolog est aussi une solution intéressante... A voir !
Commentaires
Hey ! toujours agr"ablement supris de lire des billlets intéressants
qu'est-ce que tu sous entendais dans cette parenthèse : 'pl permet de lancer l'analyse statistique pour tous les domaines en meme temps' ? je te souhaite une bone continuatoion !