OVH Cloud OVH Cloud

Rotation de fichiers d'archives

6 réponses
Avatar
Vincent Hiribarren
Bonjour à tous,

ayant parcouru la bibliothèque standard, il ne me semble pas avoir
trouvé un module permettant de faire tourner facilement des
fichiers d'archives, un peu comme les fichiers de logs sous unix :
un fichier "file" est remplacé par autre fichier, et l'ancien est
compressé en file.1.gz ; puis à la nouvelle rotation, il passe en
file.2.gz, et ainsi de suite.

J'ai mal regardé, ou ça existe ?

Merci d'avance.

--
Paumé sur Usenet-Fr ? Un seul site ! http://www.alea.net/usenet/
Un peu de zic pour se détendre ? http://julien.robinson.free.fr/

6 réponses

Avatar
William Dodé
On 04-07-2005, Vincent Hiribarren wrote:
Bonjour à tous,

ayant parcouru la bibliothèque standard, il ne me semble pas avoir
trouvé un module permettant de faire tourner facilement des
fichiers d'archives, un peu comme les fichiers de logs sous unix :
un fichier "file" est remplacé par autre fichier, et l'ancien est
compressé en file.1.gz ; puis à la nouvelle rotation, il passe en
file.2.gz, et ainsi de suite.

J'ai mal regardé, ou ça existe ?


Ca existe au niveau du module logging RotatingFileHandler

--
William Dodé - http://flibuste.net

Avatar
Vincent Hiribarren
William Dodé writes:

[Rotation d'archives]

Ca existe au niveau du module logging RotatingFileHandler


Hum, ça peut etre effectivement un début à ce que je cherche, merci.

--
Paumé sur Usenet-Fr ? Un seul site ! http://www.alea.net/usenet/
Un peu de zic pour se détendre ? http://julien.robinson.free.fr/

Avatar
F. Petitjean
Bonjour à tous,

ayant parcouru la bibliothèque standard, il ne me semble pas avoir
trouvé un module permettant de faire tourner facilement des
fichiers d'archives, un peu comme les fichiers de logs sous unix :
un fichier "file" est remplacé par autre fichier, et l'ancien est
compressé en file.1.gz ; puis à la nouvelle rotation, il passe en
file.2.gz, et ainsi de suite.

J'ai mal regardé, ou ça existe ?


Je suppose que vous faites allusion à ce qui sous Debian s'appelle
logrotate :
mababasse:~# which logrotate
/usr/sbin/logrotate

:~$ alias l='ls -lApst'
:~$ l /usr/sbin/logrotate
36 -rwxr-xr-x 1 root root 36212 2005-05-25 11:49 /usr/sbin/logrotate

:~$ ldd /usr/sbin/logrotate
libpopt.so.0 => /lib/libpopt.so.0 (0x4001e000)
libc.so.6 => /lib/libc.so.6 (0x40026000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

donc, nous avons affaire à un petit module codé en C, qui une fois
compilé « pèse » 36000 octets. Je dirais donc au pif une source de trois
à quatre mille lignes de C. Pour gérer la ligne de commandes, il utilise
libpopt, en Python cela donne optparse et comme vous disposez du module
gzip pour gérer les fichiers compressés à-la-gzip, je me pose la question
de la pertinence de votre demande. Serait-ce la perspective de pisser
quelques centaines de lignes de python qui vous effraie ? Ou bien, comme
le montre le lien suivant (première page résultat google logrotate
python )
http://www.google.fr/url?sa=U&start=7&q=http://twistedmatrix.com/pip
ermail/twisted-python/2004-September/008682.html&et7
qui nous explique :
yes, in twisted.python.logfile.LogFile there is an option to __init__
'rotateLength' that is by default 1000000. So at 100000 bytes, it will
rotate the file.
Autrement dit, c'est déjà fait dans twisted, et donc déchiffrer le code
de twisted vous parait difficile ? (et je vous comprends).

Conclusion : retroussez vos manches et communiquez-nous ici-même une
URL de votre code, je suis sûr que nous nous ferons un plaisir de vous
suggérer des améliorations et d'exprimer nos critiques positives qui
vous feront progresser (ainsi que les lecteurs de ce forum).

Merci d'avance.

PS. En fait, ma réponse est là pour obtenir la nouvelle adresse IP que

noos a bien voulu m'accorder lorsque le nouveau modem-câble a été
installé ce matin. (je devrais trouver cette IP dans les entêtes ).

Avatar
Vincent Hiribarren
"F. Petitjean" writes:

Je suppose que vous faites allusion à ce qui sous Debian s'appelle
logrotate :


Ah mais pas du tout. Plutôt newsyslog sous FreeBSD.

:~$ alias l='ls -lApst'
:~$ l /usr/sbin/logrotate


Si je puis me permettre, vous auriez fait bien plus vite en tappant le
contenu de l'alias au lieu d'aliasser la commande d'abord.

Serait-ce la perspective de pisser quelques centaines de lignes de
python qui vous effraie ?


Oui. Car ça ferait quand même bien moins de lignes en Perl.

Autrement dit, c'est déjà fait dans twisted, et donc déchiffrer le code
de twisted vous parait difficile ? (et je vous comprends).


C'est parce que je veux de la bibliothèque standard, sinon rien !

Conclusion : retroussez vos manches et communiquez-nous ici-même une
URL de votre code, je suis sûr que nous nous ferons un plaisir de vous
suggérer des améliorations et d'exprimer nos critiques positives qui
vous feront progresser (ainsi que les lecteurs de ce forum).


Avec plaisir !

file://mahoro.alea.net/home/ego/scripts/test.py

--
Paumé sur Usenet-Fr ? Un seul site ! http://www.alea.net/usenet/
Un peu de zic pour se détendre ? http://julien.robinson.free.fr/

Avatar
F. Petitjean
"F. Petitjean" writes:

Je suppose que vous faites allusion à ce qui sous Debian s'appelle
logrotate :


Ah mais pas du tout. Plutôt newsyslog sous FreeBSD.


C'est vraiment différent ?

:~$ alias l='ls -lApst'
:~$ l /usr/sbin/logrotate


Si je puis me permettre, vous auriez fait bien plus vite en tappant le
contenu de l'alias au lieu d'aliasser la commande d'abord.


Peut-être, mon but était de ne pas afficher le résultat d'un alias
arbitraire. Et je peux réutiliser cet alias par la suite (en pratique
c'est une des choses que je fais lorsque j'accède à un système).

Serait-ce la perspective de pisser quelques centaines de lignes de
python qui vous effraie ?


Oui. Car ça ferait quand même bien moins de lignes en Perl.


Voir le nom du fprum :-) et j'ai trouvé en moins de 200 lignes de Python
(sans compression gzip) :
http://www.digitaltorque.ca/snippets/rotatelogs.py
depuis : http://www.digitaltorque.ca/pmike.html


Autrement dit, c'est déjà fait dans twisted, et donc déchiffrer le code
de twisted vous parait difficile ? (et je vous comprends).


C'est parce que je veux de la bibliothèque standard, sinon rien !


Il me semble que c'est « un Ricard, sinon rien » :-) hips..

Conclusion : retroussez vos manches et communiquez-nous ici-même une
URL de votre code, je suis sûr que nous nous ferons un plaisir de vous
suggérer des améliorations et d'exprimer nos critiques positives qui
vous feront progresser (ainsi que les lecteurs de ce forum).


Avec plaisir !

file://mahoro.alea.net/home/ego/scripts/test.py

Comment y accéder ? (depuis l'extérieur )


Cordialement


Avatar
Vincent Hiribarren
"F. Petitjean" writes:

Ah mais pas du tout. Plutôt newsyslog sous FreeBSD.


C'est vraiment différent ?


Bien sûr !

Conclusion : retroussez vos manches et communiquez-nous ici-même une
URL de votre code, je suis sûr que nous nous ferons un plaisir de vous
suggérer des améliorations et d'exprimer nos critiques positives qui
vous feront progresser (ainsi que les lecteurs de ce forum).


Avec plaisir !

file://mahoro.alea.net/home/ego/scripts/test.py

Comment y accéder ? (depuis l'extérieur )



Ah, parce qu'en plus il faut pouvoir y accéder de l'extérieur ? Ah ça
non, je n'ai pas.

Sinon blague à part, je n'ai aucun code à ce sujet, si je me posais la
question c'était justement pour éviter d'avoir à l'écrire : c'est pour
utiliser dans un de mes scripts, mais ça n'est pas non plus le rôle
principal du script, loin de là.

--
Paumé sur Usenet-Fr ? Un seul site ! http://www.alea.net/usenet/
Un peu de zic pour se détendre ? http://julien.robinson.free.fr/