Comment avoir des erreurs quotidiennes et accéder aux journaux sur Apache (pour Windows)?

10

Nous exécutons Apache 2.2.9 (Win32) avec quelques hôtes virtuels configurés sur le même serveur. Chacun a ses propres paramètres ErrorLog et CustomLog qui sont au format "logs / [nom de domaine] -error.log" et "logs / [nom de domaine] -access.log". Malheureusement, ils créent maintenant des fichiers assez volumineux.

Sur IIS, vous pouvez spécifier la planification du journal, qui peut les mettre dans un format quotidien de "yymmdd.log". Y a-t-il quelque chose de similaire que je peux faire ici?

Il n'est pas nécessaire que ce soit quotidien, hebdomadaire ou mensuel. Je voudrais juste les décomposer afin que nous puissions conserver le montant X au lieu de tout ce qu'il a jamais enregistré. Un rapide Google semble apporter de nombreuses réponses orientées Linux impliquant des séparateurs de journaux, des scripts et des tâches cron, ce qui n'est pas trop utile pour une installation Windows.

Mettre à jour

Grâce à radius, j'ai modifié mon httpd-vhosts.conf pour utiliser la commande rotatelogs intégrée à Apache , au format suivant:

ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M" CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common

Ils créeront un nouveau fichier journal lorsque celui-ci atteindra 5 Mo. Je sais que ce n'est pas quotidien comme demandé, mais cela les maintient à une taille gérable qui fera l'affaire. J'ai essayé la rotation après tant de secondes, mais il ne semblait pas mettre correctement l'horodatage dans le nom du fichier (en particulier les heures, les minutes et les secondes).

Pauk
la source

Réponses:

11

Ce que vous recherchez est le programme rotatelogs fourni avec apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Par exemple, pour faire tourner vos journaux quotidiennement à minuit:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common
rayon
la source
+1, je ne savais pas qu'Apache avait sa propre solution.
Karolis T.
Pour toute personne utilisant Ubuntu, vous devrez peut-être modifier le chemin d'accès /usr/bin/rotatelogs, car c'est là que rotatelogsse trouve. Sinon, Apache ne pourra pas redémarrer en raison d'une erreur.
BadHorsie
0

Ce que vous voulez s'appelle la rotation des journaux.

Google semble répertorier certains liens intéressants sur les outils de rotation des journaux pour Windows.

Cela semble être une solution spécifique à Apache, peut-être que cela vous aidera:

http://www.sprint.net.au/~terbut/usefulbox/apachelogrot.htm

Karolis T.
la source
0

Essayez directement avec

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined
Zaalouni Mohamed
la source
2
Veuillez ajouter une explication de ce que cela fait.
kasperd