Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

gestion des logs d'apache par le systeme

10 réponses
Avatar
Thomas
comment le systeme gere les logs d'apache ?

je demande ca parce qu'il m'en perds :-(


sur quels criteres se fait la rotation ?
taille ou durée ?

est ce que c'est prevu qu'il ne gardes que 2 logs à chaque fois ?


n'ayant pas encore automatisé de truc pour les lire, je fait ca à chaque
fois que je veux les lire :
sudo chown :staff /private/var/log/httpd/access_log*

est ce que ca peut avoir pour effet que le systeme efface les logs des
qu'il s'en apercoit ?



ps : mac os x 10.3
sous 10.2 pas de pb

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"

10 réponses

Avatar
Thomas
In article (Dans l'article) ,
Matt wrote (écrivait) :

On Wed, 29 Sep 2004 00:45:11 +0200,
Thomas wrote:

comment le systeme gere les logs d'apache ?


Via syslogd(8).


ok


je demande ca parce qu'il m'en perds :-(


C'est pas vrai. Incroyable !


je m'attendais à ce que ca soit archivé


sur quels criteres se fait la rotation ?
taille ou durée ?


Durée (cf. /etc/periodic/500.daily)


donc c'est fait tous les jours ?


est ce que c'est prevu qu'il ne gardes que 2 logs à chaque fois ?


Oui.


ok

Tu peux choisir ce que tu préfères dans /etc/httpd/httpd.conf


ah ? ben c'est pas apache qui gere ca, non, tu l'as dis au debut
j'ai du louper un truc


n'ayant pas encore automatisé de truc pour les lire, je fait ca à chaque
fois que je veux les lire :
sudo chown :staff /private/var/log/httpd/access_log*


Et pourquoi pas utiliser tout simplement ton pager favori ? ou zcat (si
visualisation dans les vieux historiques) ? ou tail ? ou Console.app ?


hein ?
ma commande c'est pour pouvoir les lire de n'importe quel utilisateur,
au lieu de devoir etre admin
c'est independant de l'outil de lecture

au passage, c'est quoi zcat ?


est ce que ca peut avoir pour effet que le systeme efface les logs des
qu'il s'en apercoit ?


Normalement non


ok


merci pour ta reponse :-)

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"


Avatar
patpro ~ patrick proniewski
In article , Matt
wrote:

On Wed, 29 Sep 2004 00:45:11 +0200,
Thomas wrote:

comment le systeme gere les logs d'apache ?


Via syslogd(8).


oui mais non. Apache ne passe jamais par syslogd pour loguer. C'est
d'ailleurs pour ca qu'il faut jouer d'artifice pour faire la rotation de
ses logs. (rotatelogs qui est fourni avec apache, ou coupure d'apache le
temps de faire la rotation manuellement)

sur quels criteres se fait la rotation ?
taille ou durée ?


Durée (cf. /etc/periodic/500.daily)


/etc/periodic/daily/500.daily en fait, et en rapport avec ma remarque
précédente, cette portion du daily est stupide :

if [ -d /var/log/httpd ]; then
echo ""
echo -n "Cleaning web server log files:"
cd /var/log/httpd &&
find . -type f -name '*_log*' -mtime +7 -exec rm -f -- {} ;
/dev/null 2>&1;
fi


car elle ne cherche meme pas a relancer apache ce qui devrait etre fait
pour que les fichiers de log ouverts soient fermés avant suppression.


est ce que c'est prevu qu'il ne gardes que 2 logs à chaque fois ?


Oui.
Tu peux choisir ce que tu préfères dans /etc/httpd/httpd.conf



man rotatelogs

exemple :

CustomLog "|/usr/sbin/rotatelogs /chemin/access_log 604800" "combined"

pour une rotation toutes les 604800 secondes


patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php


Avatar
Stephane Dupille
/etc/periodic/daily/500.daily en fait, et en rapport avec ma remarque
précédente, cette portion du daily est stupide :
<snip>

car elle ne cherche meme pas a relancer apache ce qui devrait etre fait
pour que les fichiers de log ouverts soient fermés avant suppression.


Elle ne fait qu'effacer les logs qui ont plus de 7 jours. Apache
n'ouvre en écriture que le log courant, pas les anciens, on n'a donc
pas besoin de relancer Apache. Cette fonction ne s'occupe pas de la
rotation, mais juste de supprimer les vieux logs.

--
Il me vient une question. Et aucune n'est idiote.
Il a-t-il une base associative à la gestion de la hiérarchie fr.
Sinon, pourquoi ne pas en constituer une ?
-+- YG in GNU : Neuneu Quichotte à l'asso des dinos. -+-

Avatar
patpro ~ patrick proniewski
In article ,
"Stephane Dupille" <sdupille+ wrote:

/etc/periodic/daily/500.daily en fait, et en rapport avec ma remarque
précédente, cette portion du daily est stupide :
<snip>

car elle ne cherche meme pas a relancer apache ce qui devrait etre fait
pour que les fichiers de log ouverts soient fermés avant suppression.


Elle ne fait qu'effacer les logs qui ont plus de 7 jours. Apache
n'ouvre en écriture que le log courant, pas les anciens, on n'a donc
pas besoin de relancer Apache. Cette fonction ne s'occupe pas de la
rotation, mais juste de supprimer les vieux logs.



Pas tout a fait exact. D'une part, apache ne fait pas tourner les logs,
ni aucun script du système à priori, donc aucun log fermé d'apache n'est
disponible pour être traité par ce script.
D'autre part, le find trouve les fichiers de log "qui n'ont pas été
modifiés depuis + de 7 jours" et non pas "vieux de + de 7 jours". Ainsi,
un log ouvert sur une machine qui n'a pas recu de requete http depuis 7
jours sera supprimé par ce script, alors qu'apache peut toujours écrire
dedans (ne libérant ainsi pas l'espace disque, et envoyant les log dans
un trou noir jusqu'au redémarrage d'apache).


patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php


Avatar
patpro ~ patrick proniewski
In article , Matt
wrote:

Une dernière chose, le script daily est aussi mal foutu chez FreeBSD ? =)


non ;) et d'ailleurs il y'a de nombreux daily sur FreeBSD. Sur ma 4.10
par exemple, c'est a la fois plus granulaire et plus complet :

100.clean-disks* 330.news*
110.clean-tmps* 340.uucp*
120.clean-preserve* 400.status-disks*
130.clean-msgs* 410.status-uucp*
140.clean-rwho* 420.status-network*
150.clean-hoststat* 430.status-rwho*
200.backup-passwd* 440.status-mailq*
210.backup-aliases* 450.status-security*
220.backup-distfile* 460.status-mail-rejects*
300.calendar* 470.status-named*
310.accounting* 500.queuerun*
320.rdist* 999.local*

et ils ne traitent pas les fichiers de log. Toute la rotation des
fichiers gérés par syslogd est prise en charge par un soft : newsyslog
dont le fichier de conf ressemble à ça : (j'ai viré la colonne
owner:group)

# logfilename mode count size when flags [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/auth.log 600 15 1000 * Z
/var/log/maillog 644 15 * @T00 Z
...

en gros, pour chaque logfile on défini le mode du fichier, le nombre de
fichiers concervés pendant la rotation, la taille limite déclenchant la
rotation, le moment de la rotation, le(s) flag(s) donne(nt) des
instructions supplémentaires comme la compression, l'etat (binaire ou
ascii) du fichier, ... le pid_file sert à désigner le fichier de pid qui
permettra à newsyslog d'envoyer le signal sig_num au service en
question. Si pid_file n'est pas défini, newsyslog envoie un SIGHUP à
syslogd.

patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php

Avatar
Stephane Dupille
Pas tout a fait exact. D'une part, apache ne fait pas tourner les logs,
ni aucun script du système à priori, donc aucun log fermé d'apache n'est
disponible pour être traité par ce script.


Non, c'est logrotate (ou rotatelog, ou newsyslog sur les BSD, sur
les Mac, j'ai un doute) qui les fait tourner.

D'autre part, le find trouve les fichiers de log "qui n'ont pas été
modifiés depuis + de 7 jours" et non pas "vieux de + de 7 jours". Ainsi,
un log ouvert sur une machine qui n'a pas recu de requete http depuis 7
jours sera supprimé par ce script, alors qu'apache peut toujours écrire
dedans (ne libérant ainsi pas l'espace disque, et envoyant les log dans
un trou noir jusqu'au redémarrage d'apache).


Ils ont forcément été tournés par un autre utilitaire cité plus
haut, même s'ils sont vides.

--
Je dois faire un exposé pour mon cours de communication. Le sujet : les
crottes de nez ou la spéléologie nasale. recherche donc toute expression,
image, plan, document scientifique, photo, page ouèbe concernant ce sujet.
-+- TT in : <http://www.le-gnu.net> - Encore un sujet à creuser -+-

Avatar
patpro ~ patrick proniewski
In article ,
"Stephane Dupille" <sdupille+ wrote:

Pas tout a fait exact. D'une part, apache ne fait pas tourner les logs,
ni aucun script du système à priori, donc aucun log fermé d'apache n'est
disponible pour être traité par ce script.


Non, c'est logrotate (ou rotatelog, ou newsyslog sur les BSD, sur
les Mac, j'ai un doute) qui les fait tourner.


rotatelogs comme indiqué dans un précédent post. Sur BSD (Free ici)
newsyslog ne prend pas en charge apache (par défaut).

Ils ont forcément été tournés par un autre utilitaire cité plus
haut, même s'ils sont vides.


sur MacOS X c'est en fait le weekly qui s'en charge (mea culpa) :

(rotation)
if [ -f /var/run/httpd.pid ]; then /usr/sbin/apachectl restart; fi

patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php


Avatar
Thomas
In article (Dans l'article) ,
"Stephane Dupille" <sdupille+ wrote (écrivait) :

Elle ne fait qu'effacer les logs qui ont plus de 7 jours. [...] Cette fonction ne s'occupe pas de la
rotation, mais juste de supprimer les vieux logs.


bien,
excusez moi
- de reprendre le fil si tard
- de ne pas avoir tout compris à ce que tout le monde à repondu (je
remercie tout le onde quand meme :-) )


en fait voilà ce dont j'ai besoin precisément :
c'est sans doute dangereux d'arreter completement la suppression des
logs,

alors, comment peut on, simplement, regler cette durée de 7 jours ? :-)

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"

Avatar
Jerome Bordier
In article
,
Thomas wrote:
en fait voilà ce dont j'ai besoin precisément :
c'est sans doute dangereux d'arreter completement la suppression des
logs,

alors, comment peut on, simplement, regler cette durée de 7 jours ? :-)


Je n'ai pas participé à la discussion, mais je suppose qu'il a été
question des scripts Daily,Weekly et Monthly qui permettent de choisir
ce que l'ont fait (ou ne fait pas) periodiquement.
Personnellement j'ai modifié Daily pour lancer quotidiennement les stats
du serveur web avec webalizer.
Cependant par défaut Daily efface tout fichier log d'apache de plus de
7 jours et la rotation des logs existant dans Weekly est écrasée.
Si on veut garder les logs d'apache plus longtemps, il faut modifier
cette durée (parametre -mtime de la commande find).

--
Jerome Bordier equipe IAM-IMAG

Avatar
Jerome Bordier
In article ,
Jerome Bordier wrote:
Je n'ai pas participé à la discussion, mais je suppose qu'il a été
question des scripts Daily,Weekly et Monthly qui permettent de choisir
ce que l'ont fait (ou ne fait pas) periodiquement.
Personnellement j'ai modifié Daily pour lancer quotidiennement les stats
du serveur web avec webalizer.


J'ai oublié de préciser que pour ajouter des actions personnalisée à
Daily, il vaut mieux créer un fichier de script daily.local pour ces
actions. daily.local est appelé automatiquement.

--
Jerome Bordier equipe IAM-IMAG