Webalizer : regénérer tous les logs d'un site

Première publication : 2008-10-06

Ce soir j’ai voulu regénérer tous les logs d’un site sur lesquels ça n’avait pas bien fonctionné au quotidien.

J’utilise Webalizer qui fait d’habitude pas trop ma son boulot.

Seulement là, j’avais logrotate qui était passé par là et qui avait découpé mes logs, compressés…

Mais j’ai trouvé une astuce pour tout reprendre.

D’abord, on vide le dossier des stats :

$ sudo rm /www/mon_site/stats/*

Puis on relance webalizer à la main :

$ for i in $(ls -tr /var/log/apache2/mon_site.access.*); do sudo /usr/bin/webalizer -c /etc/webalizer/mon_site.conf $i; done

L’idée c’est que l’option -t pour ls va permettre de trier les fichiers par date, et l’option -r va trier à l’envers. Ces 2 options sont nécessaires car sinon au premier passage, la boucle fait calculer les logs du jour à webalizer et il ignore ensuite tous les autres, alors il faut les lui donner par ordre croissant de date et là ça marche nickel.