supprimer fichiers logs auto

Le
Dexinou
Il s'agit d'un message à parties multiples au format MIME.

=_NextPart_000_0014_01C7A5DF.4C5C0EA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Bonjour,

Je cherche la façon de supprimer les fichiers logs avec l’extension =
.gz qui
se trouvent dans /var/log automatiquement à un intervalle de 30 jours.

Comment faire ? via cron ou autre ?

Comme je suis pas très caller en programmation cron je demande votre =
aide.



D’avance merci


=_NextPart_000_0014_01C7A5DF.4C5C0EA0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v="urn:schemas-microsoft-com:vml" =
xmlns:o="urn:schemas-microsoft-com:office:office" =
xmlns:w="urn:schemas-microsoft-com:office:word" =
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" =
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; =
charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page Section1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>

<body lang=FR-BE link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Bonjour,<o:p></o:p></p>

<p class=MsoNormal>Je cherche la façon de supprimer les fichiers =
logs avec l&#8217;extension
.gz qui se trouvent dans /var/log automatiquement à un intervalle de =
30 jours.<o:p></o:p></p>

<p class=MsoNormal>Comment faire&nbsp;? via cron ou =
autre&nbsp;?<o:p></o:p></p>

<p class=MsoNormal>Comme je suis pas très caller en programmation =
cron je
demande votre aide.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>D&#8217;avance merci<o:p></o:p></p>

</div>

</body>

</html>

=_NextPart_000_0014_01C7A5DF.4C5C0EA0--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Benjamin Lannoy
Le #9572221
--Sig_N85QAZVeLppHvOx4Z.O8M0P
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le Sun, 3 Jun 2007 13:01:27 +0200,
"Dexinou"
Bonjour,


Bonjour !


Je cherche la façon de supprimer les fichiers logs avec
l’extension .gz qui se trouvent dans /var/log automatiquement à un
intervalle de 30 jours.

Comment faire ? via cron ou autre ?

Comme je suis pas très caller en programmation cron je demande votre
aide.


Ça me semble étrange comme objectif mais tu fais ce que tu veux. :p

Je ne suis pas non plus un « professionnel du cronjob » , mais j'ai des
bases (des bases de base, même).

# crontab -e

Puis rajouter cette ligne :
@monthly rm /var/log/*.gz

Ça répond à ta demande ?

--Sig_N85QAZVeLppHvOx4Z.O8M0P
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGYqDynqm5g8Z0W2IRAvQpAKDWCS9BdmSAsEJkeE9F59LUbFHO3wCgr6OB
QsgV21q2HwuimeGAelrnW24 =yu45
-----END PGP SIGNATURE-----

--Sig_N85QAZVeLppHvOx4Z.O8M0P--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Dexinou
Le #9572211
Merci, je vais tester ta commande mais la syntaxe me parait aussi bizarre, j'avais cru que l'on devait mettre un truc comme ça :
0 0 1 * * rm /var/log/*.gz
Mais si ça marche de ta façon pourquoi pas, j'aurais appris une chose en plus.


-----Message d'origine-----
De : Benjamin Lannoy [mailto:]
Envoyé : dimanche 3 juin 2007 13:07
À :
Objet : Re: supprimer fichiers logs auto

Le Sun, 3 Jun 2007 13:01:27 +0200,
"Dexinou"
Bonjour,


Bonjour !


Je cherche la façon de supprimer les fichiers logs avec l’extension
.gz qui se trouvent dans /var/log automatiquement à un intervalle de
30 jours.

Comment faire ? via cron ou autre ?

Comme je suis pas très caller en programmation cron je demande votre
aide.


Ça me semble étrange comme objectif mais tu fais ce que tu veux. :p

Je ne suis pas non plus un « professionnel du cronjob », mais j'ai des bases (des bases de base, même).

# crontab -e

Puis rajouter cette ligne :
@monthly rm /var/log/*.gz

Ça répond à ta demande ?
Benjamin Lannoy
Le #9572201
--Sig_hHsBZuVxh_2V3djP5jVu_YH
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le Sun, 3 Jun 2007 13:16:32 +0200,
"Dexinou"
Merci, je vais tester ta commande mais la syntaxe me parait aussi
bizarre, j'avais cru que l'on devait mettre un truc comme ça : 0 0 1
* * rm /var/log/*.gz Mais si ça marche de ta façon pourquoi pas,
j'aurais appris une chose en plus.



Dans le même genre, il existe aussi les raccourcis @reboot, @yearly,
@annualy, @monthly, @weekly, @daily, @midnight et @hourly.
Oui, certains sont redondants.

--Sig_hHsBZuVxh_2V3djP5jVu_YH
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGYqSCnqm5g8Z0W2IRAqyIAJ0YYk/E13SXfDLjW2zFlExNRl2OywCfTKCa
mKTPBK1rZtzGmjPXVjKPQqU =gQN5
-----END PGP SIGNATURE-----

--Sig_hHsBZuVxh_2V3djP5jVu_YH--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Bulot Grégory
Le #9572161
Le dimanche 3 juin 2007 13:07, Benjamin Lannoy a écrit :
Le Sun, 3 Jun 2007 13:01:27 +0200,

"Dexinou" > Bonjour,

Bonjour !

> Je cherche la façon de supprimer les fichiers logs avec
> l’extension .gz qui se trouvent dans /var/log automatiquement à un
> intervalle de 30 jours.
>
> Comment faire ? via cron ou autre ?
>
> Comme je suis pas très caller en programmation cron je demande votre
> aide.

Ça me semble étrange comme objectif mais tu fais ce que tu veux. :p

Je ne suis pas non plus un « professionnel du cronjob », mais j'a i des
bases (des bases de base, même).

# crontab -e

Puis rajouter cette ligne :
@monthly rm /var/log/*.gz

Ça répond à ta demande ?


euh, la on supprime tout, tous les mois ....

@monthly find /var/log/* -type f -mtime +30 -exec rm -i '{}' ';'

bien que je ferais plutôt un shell dans /root/shells/PurgeMensuelle (pas de
point dans le nom, sinon ça s'exécute pas dans le /etc/cron.monthly ... .)
avec ça :

| #!/bin/sh
| find /var/log/* -type f -mtime +30 -exec rm -i '{}' ';'

Puis dans /etc/cron.monthly : ln -s /root/shells/PurgeMensuelle.sh
Jacques L'helgoualc'h
Le #9572141
Bulot Grégory a écrit, dimanche 3 juin 2007, à 14:30 :
Le dimanche 3 juin 2007 13:07, Benjamin Lannoy a écrit :


[...]
> Bonjour !



bonjour,

> [...]
> @monthly rm /var/log/*.gz
>
> Ça répond à ta demande ?
euh, la on supprime tout, tous les mois ....

@monthly find /var/log/* -type f -mtime +30 -exec rm -i '{}' ';'

bien que je ferais plutôt un shell dans /root/shells/PurgeMensuelle (pas de
point dans le nom, sinon ça s'exécute pas dans le /etc/cron.monthly ....)
avec ça :

| #!/bin/sh
| find /var/log/* -type f -mtime +30 -exec rm -i '{}' ';'



Heu, l'option « -i » de rm est interactive...

Puis dans /etc/cron.monthly : ln -s /root/shells/PurgeMensuelle.sh



... sans « .sh » ?

La commande find est récursive par défaut, donc (sans répertoires cachés
dans /var/log/) « find /var/log/ ... » revient au même --- d'autant que
la majeure partie du développement de /var/log/* est formée de noms de
fichiers ordinaires.

On peut aussi lancer moins de processus qu'avec -exec :

find /var/log/ -type f -name '*log*.gz' -mtime +31 -print0 |
xargs --0 rm -f

(la précaution -print0 | ... -0 est sans doute inutile ici). Pour ne
pas trop dépasser le délai mensuel, je ferais plutôt une purge
hebdomadaire.


Par ailleurs, il est sans doute préférable de réduire le nombre des logs
en amont, cf. man logrotate : les exemples donnés,

rotate 5
weekly

et

rotate 2
monthly

devraient convenir à peu près.
--
Jacques L'helgoualc'h


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Bulot Grégory
Le #9572071
Le dimanche 3 juin 2007 15:10, Jacques L'helgoualc'h a écrit :

> avec ça :
> | #!/bin/sh
> | find /var/log/* -type f -mtime +30 -exec rm -i '{}' ';'

Heu, l'option « -i » de rm est interactive...



:-) , oui mon copié coller de test était un peu violent !


> Puis dans /etc/cron.monthly : ln -s /root/shells/PurgeMensuelle.sh

... sans « .sh » ?



yep


La commande find est récursive par défaut, donc (sans répertoires c achés
dans /var/log/) « find /var/log/ ... » revient au même --- d'a utant que
la majeure partie du développement de /var/log/* est formée de noms de
fichiers ordinaires.



vieux réflexes ....


On peut aussi lancer moins de processus qu'avec -exec :

find /var/log/ -type f -name '*log*.gz' -mtime +31 -print0 |
xargs --0 rm -f



je me méfie de cela, parfois cela peut déborder de la longueur maxi d'u ne
chaine 'shell', bien que dans le cas particulier de /var/log, ça devrait
passer

Par ailleurs, il est sans doute préférable de réduire le nombre des logs
en amont, cf. man logrotate : les exemples donnés,

rotate 5
weekly

et

rotate 2
monthly

devraient convenir à peu près.




on y pense jamais ;-) car c'est trop évident .....
Sylvain Sauvage
Le #9572061
Bulot Grégory, dimanche 3 juin 2007, 16:02:20 CEST
[...]
> find /var/log/ -type f -name '*log*.gz' -mtime +31 -print0 |
> xargs --0 rm -f

je me méfie de cela, parfois cela peut déborder de la longueur maxi d'une
chaine 'shell', bien que dans le cas particulier de /var/log, ça dev rait
passer



Cette commande aura toujours exactement la même longueur. Les
jokers sont protégés par les apostrophes et le résultat du f ind
est passé dans un tube.

--
Sylvain Sauvage
Jacques L'helgoualc'h
Le #9572021
Sylvain Sauvage a écrit, dimanche 3 juin 2007, à 16:15 :
Bulot Grégory, dimanche 3 juin 2007, 16:02:20 CEST
>[...]
> > find /var/log/ -type f -name '*log*.gz' -mtime +31 -print0 |
> > xargs --0 rm -f
>
> je me méfie de cela, parfois cela peut déborder de la longueur maxi d'une
> chaine 'shell', bien que dans le cas particulier de /var/log, ça devrait
> passer

Cette commande aura toujours exactement la même longueur. Les
jokers sont protégés par les apostrophes et le résultat du find
est passé dans un tube.



Pour montrer que xargs découpe le flot en paquets,

$ find /var/log -type f | wc
1166 1166 37777

$ find /var/log -type f | xargs echo Glop | grep -cw Glop
2

# au diable l'avarice,
$ find /var/ -type f | xargs echo Glop | grep -cw Glop
69

--
Jacques L'helgoualc'h


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme