Bonjour,
voici ma config REDHAT 9, apache2.
J'ai sur mon serveur un site avec bcp de visites.
Je viens de m'apecevoir que depuis le 18/09 plus rien ne s'écrit dans mon access.log.
La taille de ce fichier est alors de : 2 147 483 647
1ere question : y-a t il une taille limite à partir de laquelle apache ne peut plus ecrire ? est-ce que c'est un parametre que l'on peut changer ?
Chaque mois le fichier access.log est archivé.
Voici le config de mon logrotate.conf :
# 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
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
J'aimerais rajouté
# keep 4 weeks worth of backlogs
rotate 4
size 2000M
Ainsi si j'ai bien compris si un fichier depasse 2 G, un autre access.log sera crée.
Est-ce bien cela ?
J'aimerais avoir un avis pour être sûr que je ne fais pas d'erreur ???
merci chbruno
# Limite à 2 Go
Posté par galactikboulay . Évalué à 2.
les options adéquates ne pourra pas utiliser des fichiers de plus de
2 Go. Les typedefs et compagnie pour représenter les offsets
et les tailles de fichiers sont par défaut sur 32-bits. Donc c'est
"normal".
Pour pouvoir compiler une application avec le support 64-bits des
fichiers, il faut utiliser ces flags avec gcc:
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
Si Apache n'a pas été compilé avec ces flags, c'est normal qu'il
ne puisse pas utiliser des fichiers de plus de 2 Go.
Apparemment le support des "large files" est dans Apache 2.1:
http://www.gossamer-threads.com/lists/apache/users/295588(...)
[^] # Re: Limite à 2 Go
Posté par chbruno . Évalué à 1.
Par contre n'etant pas encore très à l'aise dans l'admin d'un serveur, je me sens pas trop de recompiler apache...
J'aimerais donc faire la solution "modifier logrotate.conf" et rajouté dans ce fichier :
# keep 4 weeks worth of backlogs
rotate 4
size 2000M
Est-ce bien la bonne manip ??
Pour que le access.log se change tous les mois ou alors s'il depasse 2gigas
mercii. chbruno
# configuration de logrotate
Posté par JJD . Évalué à 3.
Le fichier logrotate.conf te donne la configutation par défaut. De plus le paramètre "size" indique la taille limite pour laquelle il faut appliquer la règle adéquate : avec ta configuration, les fichiers de logs ne subiront une "rotation" que s'il dépassent les 2000MO, ce qui me semble énorme.
En revanche, dans la conf, il y a quelque chose d'intéressant :
include /etc/logrotate.d
Cette directive indique qu'il faut inclure les fichiers de conf contenus dans le répertoire /etc/logrotate.d. Pour information, sur mes machines, j'ai, dans de répertoire, un fichier "apache2" qui contient les lignes suivantes :
/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
Cela indique que tous les fichiers *.log du répertoire /var/log/apache2 subiront une rotation une fois par semaine, quelle que soit leur taille (pas de directive size), que 52 fichiers sont conservés sous une forme compressée (sauf le premier) et de plus apache est redémarré après la rotation de façon à ce que les fichiers de logs ouverts soient fermés (sans ça, apache va continuer à écrire dans le fichier renommé, c'est à dire access_log.1 au lieu de access_log).
Il te reste à adpter cela à tes besoins.
A part ça, il est fort possible que ton système de fichier limite la taille des fichiers à 2GO (ça dépend du FS utilisé et des options de formatage).
A+
JJD
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.