yep c ce que j ai fini pas faire !
tout etait dans /var/log !!! 2 GO de Log !!
Dark_Schneider
va dans /var/log et fais :
> du -sh
va dans /var et fais la même chose
va dans /tmp et fais la même chose
idem dans /home
ce sont les coins les plus critiques
une fois que tu as vu où tu bourrine tu peux savoir où tu as un pb
[root@bastard root]# cd /var/log
[root@bastard log]# du -sh
13M .
[root@bastard log]# cd..
[root@bastard var]# du -sh
123M .
slvn
UPPPPPP ! c est hallucinant !!
la commande "df" me dit que toute mon espace disque est pris, (d ailleurs les mails avec attachement passent mal par cette passerelle dont j aurais tendance a le croire)
mais en utilisant
du -h, j ai pas l impression d avoir rempli 3,5 GO !!
qui m a volé mes MO ???????????
wann
ya une fonction de find qui est l'exec et qui est bien utile...
la syntaxe est :
Code :
find . -name "*.log" -exec rm -f {} \;
Pour plus de sécurité, vérifie d'abord de que tu vas effacer :
Code :
find . -name "*.log" -exec ls -l {} \;
slvn
bizarrrrre, j ai 3.5 GO, le "df" me dit qeu c est full,
alors que je dois pas avoir plus de 2 GO ...
( install de mandrake snas interface graphique + qq prog a 2 balle )
Aiua
fait "du -h" tu verrais bien quels sont les rep qui prennent de la place
slvn
bah ca serait cool en fait si y avait du "tagged by xxx for slvn :d:d:d: "
mais vu que j ai pas une ip fixe ca m etonnerait ...
df -> renvoi partition / utilisé a 100 % :(
arsunik
nanotube a écrit a écrit :
Ah? Cherche voir "Tagged by ..." ou encore "~~~~~~" sur ton DD :D ;)
Ou "..." en mode 111
Ou regarde dans /lost+found (dans ce cas inquiéte toi).
Ou c'est encore mieux caché...
Attention !
Cela n'effacera pas forcement tes fichiers de log.
En effet les programmes qui ecrivaient dans ces fichiers les ont surement déjà ouvert.
Le fichier étant toujours utilisé, linux ne l'efface pas.
Il faut donc relancer les prog qui utilisent les log (killall -HUP toto ou /etc/init.d/toto restart selon les distrib).
Le mieux pour effacer les fichier est de faire ":> toto.log"
Installer logrotate est une bonne idée...
Dark_Schneider
si tu as un pb de log met en place logrotate
houplaboom42
y a l option -h aussi ( aka "human readable" )
ca marche aussi pour ls en passant
nanotube
Faut utiliser la commande du pour savoir quels sont les gros répertoires.
k pour les kilo-octets:
du -k très détaillé (trop)
du -sk taille totale d'un rép.
du -k --max-depth=1 pour la taille de chacun des sous-rép. du répertoire courant
Si qq1 a mieux sous Linux, je suis preneur ;) je connais que qqes commandes basiques. Ah oui, il y a sûrement l'équivalent de l'Explorateur sous Gnome et tout ça, mais je suis sous ligne de commande pure au taf.
nanotube
Ah? Cherche voir "Tagged by ..." ou encore "~~~~~~" sur ton DD :D ;)
Ton pbe avec rm venait p-e d'un alias un peu bizarre pour cette commande. Dans ce cas, indiquer le chemin vers rm en entier: /bin/rm par exemple.
slvn
en faite c pas les fichiers log :(((((
je capte pas mes 3 GO sont partis :((((((((((
bouhhhhou mon routeur est plein, et je sais pas pkoi
houplaboom42
JoWiLe a écrit a écrit :
et si je veux absolument une cmd avec un pipe :??:
oui je suis lourd mais c pour apprendre :D
tu peux aussi utiliser xargs
style rpm -qa | grep machin | xargs rpm -e
Aiua
cassidy a écrit a écrit :
hummm attention pas confondre!!
le pipe sert a rediriger la sortie standard d'un prog vers l'entree standard d'un autre.
De meme que > redirige la sortie d'un prog vers un fichier et < redirige un fichier vers l'entree standard d'un prog.
ainsi qd tu fait find / | grep chevre
ton find sort ses fichiers sur son entree standard, l'ecran mais tu le redirige vers l'entree standard de grep qui lit lis ces fichiers.
Dans le cas de rm c tout a fait different vu que les fichiers a effacer sont passer sur la ligne de commande!
Ainsi il faut 'construire' une commande rm fichier1 fichier2 etc
Avec find tu peux le faire avec la commande exec (cfr ex de tantot).
Sinon un truc du genre: ls $( find / -name "*.log" )
ou alors utiliser xargs
voila, c ce que je voulais dire :D
cassidy
hummm attention pas confondre!!
le pipe sert a rediriger la sortie standard d'un prog vers l'entree standard d'un autre.
De meme que > redirige la sortie d'un prog vers un fichier et < redirige un fichier vers l'entree standard d'un prog.
ainsi qd tu fait find / | grep chevre
ton find sort ses fichiers sur son entree standard, l'ecran mais tu le redirige vers l'entree standard de grep qui lit lis ces fichiers.
Dans le cas de rm c tout a fait different vu que les fichiers a effacer sont passer sur la ligne de commande!
Ainsi il faut 'construire' une commande rm fichier1 fichier2 etc
Avec find tu peux le faire avec la commande exec (cfr ex de tantot).
Sinon un truc du genre: ls $( find / -name "*.log" )
ou alors utiliser xargs
cassidy
JoWiLe a écrit a écrit :
ça ça suppose que tu sois dans le rép, non?
je ferais plutôt un
find / -name *.log | rm -
nan?
ce serait pas plutot
find / -name "*.log" -exec rm -f {} \;
Aiua
ben a priori le tien il marche pas parce que le rm va pas comprendre qu'il faut s'appliquer à chaque élément de la liste du find, un grep marchera par exemple par ce qu'il s'applique à toute la liste
ma commande passe en parametre du rm chaque élément trouvé
enfin j'crois que c ça, j'suis pas un expert de la question non plus ;)
Aiua
Code :
rm `find / -name *.log`
a priori ça marche ;)
houplaboom42
toutafé
houplaboom42
for i in *.log ; do rm $i ; done
antp
c'est plutôt pour la section OSA ça, je déplace...
Nicool
bah rm *.log ça marche chez moi...
tu as un message d'erreur ?
slvn
je viens de m apercevoir que j ai pu de place sur une partition de mon routeur/serveur/passerelle.