Awstats – passer de Apache à Nginx
Si vous pensez à faire le changement le jour où vous passez d’un serveur à l’autre c’est très simple.
Il vous suffira d’éditer le fichier /etc/awstats/awstats-nom-de-domaine.conf et d’éditer la ligne
LogFile=””
Et d’y mettre le path du nouveau fichier de log.
Je parlerai dans un autre poste de la partie affichage grâce à nginx, ici on parse déjà les bons fichiers de log, c’est déjà pas mal.
Heu, et si j’avais oublié?
C’est là que ça se corse. Nginx fait automatiquement du renommage puis de la compression de ses anciens logs. Et donc quand awstats parse le log, il ne parse que les requêtes du jour. Il va donc falloir tout décompresser, agréger, demander à awstats de parser, puis nettoyer nos déchets.
Décompression
Allez dans le /var/log/nginx/ repérez le nom de domaine/log qui vous intéresse faites en sorte de lister que les ACCESS log gzippés.
ls lgnap.helpcomputer.org-access.log*.gz #pour moi par exemple :)
faites un gunzip sur ces fichiers
gunzip lgnap.helpcomputer.org-access.log*.gz
Rangement
ensuite il nous faut les ranger dans le bon ordre
ls lgnap.helpcomputer.org-access.log* | sort -Vr
- sort : permet de trier
- -V : trie par version (et comme chaque fichier est suffixé par un numéro de “version” c’est niquel)
- -r : inverse (pour avoir la plus vieille version au début)
Agrégation
Il faudra encore afficher le contenu de chaque fichier du ls et tout globaliser dans un seul fichier. J’ai fait un mini script pour ça, le voici :
#/bin/sh
LIST=`ls lgnap.helpcomputer.org-access.log* | sort -Vr`
for i in $LIST
do
cat $i >> lgnap.agregated.log;
done
Parser ce fichier
Cfr la première étape vous allez indiquer le path du fichier dans lequel on a tout agrégé. Forcer le parsing du fichier avec la commande suivante :
/usr/lib/cgi-bin/awstats.pl -config=lgnap.helpcomputer.org
- awstats.pl le script
- -config= “nom-de-domaine” (extrait de /etc/awstats/awstats-nom-de-domaine.conf)
Un petit message vous dira ce qui a été parsé avec succès, vous n’avez plus qu’a faire comme si tout ceci n’avait jamais eu lieu et mettre le fichier de log de nginx original “/var/log/nginx/lgnap.helpcomputer.org-access.log” dans le fichier de config.
Nettoyage
Il faudra ensuite (pour bien faire) regzipper les fichiers que vous avez gunzippé
gzip …
Et supprimer le fichier où on avait tout agrégé aussi lgnap.agregated.log
Enjoy ;)
Sources
- http://www.zmanda.com/quick-mysql-backup.html
- http://openconcept.ca/mysql_permissions_for_backup
- http://dev.mysql.com/doc/refman/5.0/fr/mysqldump.html
- http://sql-info.de/mysql/notes/compressing-mysqldump-output.html