IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Comment vider des fichiers log


Sujet :

Apache

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut Comment vider des fichiers log
    Bonjour,

    Je n'ai réussi à trouver, malgré mes recherches sur Google, comment vider des fichiers log de apache.
    Par exemple, pour vider le fichier error_log ou acces_log, même en essayant de le remplacer par un vide, ça ne fonctionne pas.

    Une astuce ? Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    http://httpd.apache.org/docs/2.0/logs.html

    section "log rotation" et "piped logs".

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    J'ai essayé d'appliquer la méthode "rotate" en créant un fichier sh contenant le code indiqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mv access_log access_log.old
    mv error_log error_log.old
    apachectl graceful
    sleep 600
    gzip access_log.old error_log.old
    Je me retrouve avec une erreur apachectl commande non trouvée.
    Testé avec apache2ctl également, sans succès !!

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Il faut que la commande apachectl soit dans le PATH. Si ce n'est pas le cas, il faut indiquer le chemin absolu vers cette commande.

    Mais soit dit en passant, cette méthode n'est pas très propre : tu peux configurer Apache pour qu'il fasse lui même une rotation sur les fichiers de log (généralement, un fichier par jour) et après, tu n'as plus qu'à supprimer les vieux fichiers sans couper l'herbe sous le pied d'Apache en bricolant directement le fichier dans lequel il écrit.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Mon fichier de configuration logrotate.conf est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    # see "man logrotate" for details
    # rotate log files weekly
    weekly
     
    # keep 4 weeks worth of backlogs
    rotate 4
     
    # create new (empty) log files after rotating old ones
    create
     
    # uncomment this if you want your log files compressed
    #compress
     
    # packages drop log rotation information into this directory
    include /etc/logrotate.d
     
    # no packages own wtmp, or btmp -- we'll rotate them here
    /var/log/wtmp {
        missingok
        monthly
        create 0664 root utmp
        rotate 1
    }
     
    /var/log/btmp {
        missingok
        monthly
        create 0660 root utmp
        rotate 1
    }
     
    # system-specific logs may be configured here
    Sachant que j'ai modifié dans apache le répertoire où s'enregistrent les log error_log et acces_log, est-ce que ça expliquerait que je n'ai qu'un seul exemplaire de ces logs ?

    De même, lorsque je fais logrotate -f/etc/logrotate.conf je me retrouve avec une erreur bad argument -f/etc/logrotate.conf: unknown error !!

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Faut mettre un espace entre -f et /etc/logrotate.conf.

    Je parlais en fait de rotatelogs qui se trouve dans le répertoire bin d'Apache, pas de logrotate. C'est un outil Apache qui permet de faire une rotation des logs depuis Apache, dans sa conf.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Je me suis penché sur rotatelogs sans pour autant (pour l'instant) réussir à l'appliquer.

    De ce que je comprends, ça permet de faire des rotations de logs selon un délai déterminé, mais ce délai est par rapport à quoi ? Si je mets 1 mois, ce sera 1 mois à partir du moment ou j'ai modifié mon httpd.conf (par exemple le 28/06/2010 à 10h00) ou à minuit ?

    Je ne comprends pas trop ce point !

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Dans la doc de rotatelogs, on lit ceci :
    The rotation occurs at the beginning of this interval. For example, if the rotation time is 3600, the log file will be rotated at the beginning of every hour; if the rotation time is 86400, the log file will be rotated every night at midnight.
    donc si tu mets 1 mois en secondes (ça fait combien ? bonne question !!), la rotation se fera chaque 1er de mois à 00h00.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Ok je n'avais pas vu ce paragraphe là (ou alors je suis très nul en anglais, c'est possible aussi !!). Je vais me contenter d'une rotation par jour pour voir déjà si ça fonctionne, parce qu'1 mois, c'est bien joli, mais un mois de 30 jours ce n'est pas pareil qu'1 de 31 j !!

    Je me tente donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CustomLog "|lampp/bin/rotatelogs htdocs/www/site/db/compteur.%y.%m.%d 86400" common
    A voir demain !

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Et bien la mauvaise nouvelle c'est que cela n'a pas fonctionné.
    Ce matin je n'ai aucun fichier compteur.10.06.29, et au final aucun enregistrement depuis ma mise à jour hier à 17h00 !

    Et aucune erreur dans le php_log !!

  11. #11
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par nicolas2603 Voir le message
    Ok je n'avais pas vu ce paragraphe là (ou alors je suis très nul en anglais, c'est possible aussi !!). Je vais me contenter d'une rotation par jour pour voir déjà si ça fonctionne, parce qu'1 mois, c'est bien joli, mais un mois de 30 jours ce n'est pas pareil qu'1 de 31 j !!

    Je me tente donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CustomLog "|lampp/bin/rotatelogs htdocs/www/site/db/compteur.%y.%m.%d 86400" common
    A voir demain !
    avec des chemins partiels… peu de chance que cela fonctionne…

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Des chemins partiels ? En ce qui concerne le fichier log, la syntaxe CustomLog htdocs/www/site/db/compteur common fonctionne, et pour le rotatelogs, j'ai fait un "find" pour qu'il m'indique le chemin !
    Et mon dossier lampp est bien à la racine pourtant...

  13. #13
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par nicolas2603 Voir le message
    Des chemins partiels ? En ce qui concerne le fichier log, la syntaxe CustomLog htdocs/www/site/db/compteur common fonctionne, et pour le rotatelogs, j'ai fait un "find" pour qu'il m'indique le chemin !
    Et mon dossier lampp est bien à la racine pourtant...
    des chemins partiels peuvent fonctionner à condition de se souvenir qu'alors ils sont relatifs à ServerRoot…

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Ok, j'ai modifié ma ligne de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CustomLog "|lampp/bin/rotatelogs /lampp/htdocs/www/site/db/compteur.%y.%m.%d 86400" common
    Comme ça ça devrait fonctionner non ? Je tente.

    Edit : mon premier fichier compteur.10.07.02 a bien été crée, à voir lundi si ce week-end j'ai bien 2 autres fichiers !

  15. #15
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par nicolas2603 Voir le message
    Ok, j'ai modifié ma ligne de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CustomLog "|lampp/bin/rotatelogs /lampp/htdocs/www/site/db/compteur.%y.%m.%d 86400" common
    Comme ça ça devrait fonctionner non ? Je tente.

    Edit : mon premier fichier compteur.10.07.02 a bien été crée, à voir lundi si ce week-end j'ai bien 2 autres fichiers !
    ce qui confirme bien que la variable ServerRoot de la configuration Apache n'est pas /lampp… (sinon votre chemin partiel htdocs de votre essai précédent aurait fonctionné…)

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    La variable est ServerRoot "/opt/lampp" !

    Bon, retour de week-end, vérification des logs, et premiers résultats :
    1. j'ai bien un log par jour qui se crée, au format compteur.10.07.04
    2. en revanche, ce log tourne à 2h du matin au lieu de minuit...

    J'observe un [03/Jul/2010:01:59:08 +0200], est-ce l'heure serveur qu'il faut modifier ?

  17. #17
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par nicolas2603 Voir le message
    La variable est ServerRoot "/opt/lampp" !
    /opt/lampp != /lampp…
    faudrait voir à mettre de l'ordre…

    Citation Envoyé par nicolas2603 Voir le message
    Bon, retour de week-end, vérification des logs, et premiers résultats :
    1. j'ai bien un log par jour qui se crée, au format compteur.10.07.04
    2. en revanche, ce log tourne à 2h du matin au lieu de minuit...

    J'observe un [03/Jul/2010:01:59:08 +0200], est-ce l'heure serveur qu'il faut modifier ?
    +0200 c'est bien le fuseau de la l'Europe continentale Paris/Bruxelles/Madrid en heure d'été…
    mais il se peut que votre serveur croit qu'il est dans le fuseau de Greenwich…
    et si c'est une machine louée… il y est en effet peut-être…
    sinon c'est peut-être tout simplement que le daemon de mise à l'heure automatique ne tourne pas…

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    mais il se peut que votre serveur croit qu'il est dans le fuseau de Greenwich…
    et si c'est une machine louée… il y est en effet peut-être…
    C'est effectivement une machine louée, mais l'hébergeur est sur Paris.
    Au pire je vais laisser comme ça en attendant !

    Citation Envoyé par JeitEmgie Voir le message
    /opt/lampp != /lampp…
    faudrait voir à mettre de l'ordre…
    J'ai la main dessus mais je ne peux pas tout modifier.

  19. #19
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par nicolas2603 Voir le message
    C'est effectivement une machine louée, mais l'hébergeur est sur Paris.
    Au pire je vais laisser comme ça en attendant !
    un ntpdate en crontab…

    méfiez-vous des tâches CRON entre 2 et 3 heures du matin… les changements d'heure 2x par an : les tâches qui ne s'exécutent pas ou au contraire s'exécuteront 2x !

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Alors, pour faire mon ntpdate en crontab, j'ai commencé par un petit whereis ntpdate, qui me retourne un gentil ntpdate : vide... Cela signifie que je ne peux pas l'utiliser puisqu'il ne le trouve pas ?

    Quant aux tâches CRON entre 2 et 3 heures du matin, comme par hasard j'en ai justement une à 2h00 et une à 3h00 qui font des mises à jour. Il ne me reste plus qu'à changer d'heure...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    00 02 * * * /lampp/htdocs/www/site/db/annonces_ftp.sh
    00 03 * * * /lampp/htdocs/www/site/db/annonces_maj.sh

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] Comment vider les fichiers journaux (fichier log)
    Par maherbenalaya dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/02/2014, 14h40
  2. [WPF] Comment avoir un fichier log des erreurs ?
    Par Flaburgan dans le forum C#
    Réponses: 5
    Dernier message: 29/04/2011, 16h36
  3. [débutant]Comment faire des fichiers log
    Par smutmutant2003 dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 12/06/2007, 15h39
  4. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30
  5. [langage] comment créer des fichiers ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2002, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo