Archivage automatique du fichier access.log

Fermé
Olivier G. - 20 nov. 2002 à 15:21
 Olivier G. - 21 nov. 2002 à 15:43
Comment peut-on archiver mensuellement le fichier access.log (rempli par le serveur apache d'easyphp) et le vider ensuite, le tout de façon automatique ?

Y aurait-il une astuce du genre CustomLog "logs/%Y/%m/access.log" common à mettre dans httpd.conf

Ou bien du genre CustomLog "| bin/rotatelogs logs/access_log 2678400" common

(l'un et l'autre ne semble pas marcher avec apache sous windows)

Quelqu'un peut-il m'aider ? J'ai cherché de partout sur Internet et je n'ai rien trouvé d'autre...

Merci d'avance !!
A voir également:

7 réponses

ndaval Messages postés 63 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 5 mars 2003 19
20 nov. 2002 à 15:23
Salut,

Cherche un log de stat, je sais que certains font çà, mais je ne me rappele plus du nom.

Y a awstat... mais il faut installer le module Active Perl et j'suis pas sur qu'il archive

@+
Nicolas
0
ok merci... mais ça peux marcher sous windows tout ça ?
0
ndaval Messages postés 63 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 5 mars 2003 19
20 nov. 2002 à 15:39
Normalement oui... Je l'ai fait dans un temps éloigné... sur un poste de test... En plus awstat te donnes les stats de consultation de ton site web.

C'est un CGI... Par contre il faut installer active perl, c'est méga important et lire la doc pour savoir comment faire pour qu'il soit pris en compte par apache (ca marche avec IIS, et çà je l'ai fait il y a peu)

Mais là je fais plus du tout de dev web ni de conf de serveur alors....
@+
nico
0
Bon ok, je crois ke c un peu trop compliqué pour le peu de tps qu'il m'est imparti...

je te remercie qd même

@+ Olive
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ndaval Messages postés 63 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 5 mars 2003 19
20 nov. 2002 à 16:25
sinon y a la soluce ki consiste à faire un batch ki :
Copie le fichier dans un rep Archive et le renomme en apachexxxxxxxx ou les x represente la date du jour.
ensuite tu garde un fichier vide dans un rep empty et tu écrase le fichier existant.

Tu met ton batch dans le planificateur des taches et hop.
Pour la prog par contre je ne peut t'aider, regarde dans forum prog... y a des truc s en dos.

@+
Nico
0
j'avais également envisagé ce cas :
archivage.bat:
copy C:\EasyPHP\apache\logs\access.log C:\EasyPHP\apache\logs\access_mois.log

par contre je ne savais ni mettre le mois ou la date en paramètre et ni effacer le contenu d'un fichier... du coup j'ai voulu supprimer le fichier access.log mais c'est impossible tant que le serveur est en train de tourner (et on ne veux pas l'arrêter justement... domage car le fichier access.log est recréé s'il n'existe pas).

en tous cas merci de ta réponse.

@+ Olive
0
il y a un moyen de contourner le problème, c'est avec l'exécutable rotatelogs :

TransfertLog "|c:/EasyPHP/Apache/bin/rotatelogs c:/EasyPHP/Apache/logs/2002/access.log 86400"

Où 86400 correspond au nombre de sec. (ici = 1 jour)

Des fichiers (par ex : access.log.XXXXXXX) vont être alors générés

XXXXXXXX correspondant au timestamp.

@+ Olive
0