Meilleur moyen de faire pivoter les fichiers journaux Apache

J’ai un serveur Apache qui possède un fichier journal d’access qui dépasse 600 Mo. Cela rend très difficile la recherche dans le fichier ou l’parsing.
Quels logiciels ou modules pour Apache sont disponibles pour créer une copie quotidienne de mon fichier d’access afin de le rendre plus facile à gérer?

Avez-vous examiné logrotate ? C’est probablement la méthode la plus simple, la plus répandue et la mieux comprise pour y parvenir. Il est hautement configurable et fera probablement 90% de ce dont vous avez besoin.

Je suis un grand fan de Cronolog . Il suffit d’installer et de diriger vos journaux à travers elle. Pour la rotation journalière, quelque chose comme ça fonctionnerait:

 ErrorLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/error.log" CustomLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/access.log" combined 

Assez pratique, et une fois installé, plus facile (selon mon expérience) que logrotate.

La commande réelle pour Windows, qui est assez difficile à trouver en ligne est la suivante:

 CustomLog '|" "*Apache-Path/bin/rotatelogs.exe" "**Apache-Path*/logs/backup/internet_access_%d-%m-%y.log" 86400' combined 

Lorsque le bit “internet_access” est le nom que vous choisissez pour vos fichiers, le 86400 correspond au nombre de secondes en une journée. Vous devez changer le chemin Apache vers le répertoire approprié sur lequel vous avez installé Apache.

logrotate

logrotate est probablement la meilleure solution. Utilisez le fichier /etc/logrotate.conf pour modifier les parameters de tous vos journaux. Vous changez weekly pour passer weekly daily aux journaux. En outre, vous souhaiterez peut-être append une compress afin que les archives soient compressées. Si vous ne vous souciez pas des anciens journaux, vous pouvez définir une rotate 4 à un niveau inférieur.

CustomLog “| bin / rotatelogs / var / logs / logfile 5M” commun

Cette configuration fait pivoter le fichier journal chaque fois qu’il atteint une taille de 5 mégaoctets.

 ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M" 

Ce serait le meilleur moyen de redirect les journaux Apache. Pas besoin de comstackr le mod avec httpd.

rotatelog.exe ou cronolog.exe sur Windows os. Ils sont utilisés dans la commande pipe dans http.conf Mod_log_rotate module supplémentaire pour apache UNIQUEMENT pour la rotation des journaux d’access Logrotate ONLY pour unix OS.

J’ai un module qui le fait pour vous sans avoir besoin de tuyaux externes, etc.:

http://www.poptart.org/bin/view/Poptart/ModAutorotate

J’ai essayé de l’append à la collection de modules Apache, mais cela semble avoir été rompu depuis un certain temps.