Vider fichiers logs

Bonjour à tous !

C’est mon premier message, veuillez m’excuser si ma question vous paraît évidente mais j’ai cherché partout et je n’ai pas trouvé…

Comment vider (pas supprimer, ni créer un fichier vide) des fichiers renvoyés par find ?

Je sais faire avec un seul fichier :

> monfichier echo -n > monfichier cat /dev/null > monfichier

Mais je n’arrive pas à vider tous les fichiers logs d’un répertoire par exemple.

J’ai essayé sans succès:

find /var/log -type f -exec echo -n > {} \;

Je ne veux pas les supprimer puis les recréer sinon les chown et chmod des fichiers seront modifiés.

Merci à vous :023

Donald.

Ta question peut se faire par

mais attention

  1. Si un fichier est ouvert, tu auras un fichier non vide contenant un début aléatoire
  2. logrotate supprime les fichiers de logs au fur et à mesure
  3. méfies toi des commandes brutales de ce type

Je te suggère de regarde le gros fichier, de le vider et de comporendre pourquoi il est maouss

Ce ne sont pas de gros fichiers (< 10 mo)
C’est un serveur web de test (anti spam, anti ddos, anti flood…)
J’ai souvent besoin de vider les logs avant de lancer mes tests.
En production mes logs sont correctement journalisés et disséqués au besoin.
J’avais pas pensé à awk, je l’utilise plus pour parser mes logs justement.

Merci d’avoir répondu si vite !

Donald.

La commande fonctionne bien mais je voudrais comprendre son cheminement :017

awk '{print "echo -n > "$1}' | sh

En fait ça “print” les lignes de commande et sh (shell il me semble) les exécute ?

[EDIT :smiley: ]

Effectivement j’ai essayé :

echo "ls"

Ce qui m’a afficher “ls” comme prévu dans la console.

Et :

echo "ls" | sh

Qui a éxécuté le “ls” donc j’ai bien vu ma liste de fichiers…

Magique !

Merci

Salut,
J’ai déplacé ton message de Trucs et Astuces vers Support Debian, le forum adhoc pour les demandes d’aides.
Tu fera attention la prochaine fois s’il te plais. Ou il n’y aura pas de prochaine fois… :mrgreen:
Si le sujet est résolu, pense à la coche verte pour le signaler.
Merci.

C’est noté :115

Je me tiens à carreau parce que j’aurai surement d’autres questions :mrgreen:

Merci

[quote=“dpmix”]C’est noté :115

Je me tiens à carreau parce que j’aurai surement d’autres questions :mrgreen:

Merci[/quote]

Tes questions sont les bienvenues :006

Il était dans T&A quand j’ai répondu?

Oui.
Et j’ai mis un moment à le voir… :083

En général je percute et déplace le fil

J’espère qu’il ne va pas être déplacé dans “bourde d’un admin:mrgreen:

Pour un premier post, il ne sera pas passé inaperçu !
Ni pour vous, ni pour moi…

Amicalement,
Donald.

En général la solution retenue dans ce cas est suppression du fil et bannissement complet du fautif. On va tout de même étudier ton cas :smiley:

Je suis prêt à en découdre :079

Même si c’est perdu d’avance :116

A+ :023