Rechercher : dans
Par :

Archivage automatique du fichier access.log

Dernière réponse le 21 nov 2002 à 15:43:41 Olivier G., le 20 nov 2002 à 15:21:24 
 Signaler ce message aux modérateurs

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 !!

Meilleures réponses pour « Archivage automatique du fichier access.log » dans :
Archiver plusieurs fichiers en un seul VoirCette astuce explique comment réunir (archiver) plusieurs fichiers en un seul, pour les manipuler plus facilement et les envoyer par mail, par exemple. Dans cet exemple, nous avons plusieurs photos que nous voulons partager. Pour cela nous allons...
Could not open install.log / Impossible d'ouvrir instal.log VoirCe problème intervient généralement lors de la suppression d'un logiciel via le panneau de configuration (Ajout/Suppression de programmes). Première solution - Déplacer manuellement le fichier install.log dans un répertoire temporaire tel que...
Oracle - Les fichiers d'une base Oracle VoirLes fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...
Extensions de fichiers VoirIntroduction aux fichiers Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...

1

ndaval, le 20 nov 2002 à 15:23:33

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

Répondre à ndaval

2

Olivier G., le 20 nov 2002 à 15:34:08

Ok merci... mais ça peux marcher sous windows tout ça ?

Répondre à Olivier G.

3

ndaval, le 20 nov 2002 à 15:39:13

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

Répondre à ndaval

4

Olivier G., le 20 nov 2002 à 16:21:59

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

Répondre à Olivier G.

5

ndaval, le 20 nov 2002 à 16:25:17

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

Répondre à ndaval

6

Olivier G., le 20 nov 2002 à 16:33:15

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

Répondre à Olivier G.

7

 Olivier G., le 21 nov 2002 à 15:43:41

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

Répondre à Olivier G.