logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 27-08-2017 11:11:54

debman
Membre
Lieu : Ici
Distrib. : 12
(G)UI : Gnome
Inscription : 03-05-2017

[Resolu] - Lister les plus gros fichiers

Bonjour,

Je souhaite connaître les fichiers qui saturent mon /var/log.

Je voudrait donc faire une liste des plus gros fichiers de cette partition. J'imagine qu'il faut faire une liste des fichers et les trier par taille

ls ... | sort ...


bloc à supprimer si la commande n’affiche rien



Je me demande s'il n'existe pas une autre commande ou méthode.

Si vous avez des idées ?

Dernière modification par debman (28-08-2017 08:28:25)


Si je te donne un poisson je te donne à manger pour un repas. Si je t'apprends à pêcher, je te donne à manger pour la vie.
Debman

En ligne

#2 27-08-2017 12:20:18

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : [Resolu] - Lister les plus gros fichiers

Salut smile

Je crois que la commande find a des options qui vont bien pour lister les fichiers de plus d'une certaine taille

find /var/log -size +1M




Le tuto du wiki DF https://debian-facile.org/doc:systeme:find mais il n'y a pas d'exemple avec ette option je crois hmm
Et la page man, parceque c'est bien le meilleur outils lorsqu'on a des question comme celle là wink https://debian-facile.org/man.php?page= … lang=fr_FR


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#3 27-08-2017 12:41:17

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : [Resolu] - Lister les plus gros fichiers

Je trouve le programme ncdu très pratique pour ça, il s’utilise en console mais fournit un retour très visuel et facile à comprendre.
Pour l’utiliser il suffit d’installer le paquet 'ncdu', puis de lancer par exemple :

ncdu /var/log


--- /var/log --------------------------
   71,7 MiB [##########] /nginx
   17,9 MiB [##        ]  auth.log.1
   17,2 MiB [##        ] /apt-cacher-ng
   14,4 MiB [##        ] /installer
    4,8 MiB [          ]  auth.log
    3,1 MiB [          ]  btmp.1
    2,3 MiB [          ]  dpkg.log.1
    2,3 MiB [          ]  btmp
    2,0 MiB [          ]  auth.log.2.gz

Dernière modification par vv222 (27-08-2017 12:46:18)


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

Hors ligne

#4 27-08-2017 13:06:37

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Resolu] - Lister les plus gros fichiers

Salut, juste pour l'amusement, j'avais fait un script en ruby
qui permet d'afficher une liste des fichiers triée selon leur taille.


 #! /usr/bin/ruby


# Simple script qui permets d'afficher une liste de fichiers triée
# en fonction de leur taille.
# Le format de sortie de la commande est:
# <taille> <nom-du-fichier>

# On n'affiche pas les fichiers dont le nom corresponde au motif: *~
# (option -B de ls).
# On affiche que les noms de fichiers normaux.
# les liens symboliques, les répertoires, les fichiers de types
# périphériques, les fifos et les sockets sont ignorés.

# Ceci permets par exemple de compressé les fichiers qui ont une taille
# supérieur à 1024 :
# $ ls-bysize $(find -name README) |awk '$1 > 1024 { print $2 }' |
#    xargs -e gzip -v9

class ToSorted
  include Comparable

  def initialize(size, name)
    @size = size
    @name = name
  end

  attr_reader :size, :name

  def <=>(other)
    @size <=> other.size
  end
end

if ARGV.size == 0
  ARGV[0] = '.'
end

result = Array.new

ARGV.each { |f|
 
  if File.directory?(f)
    files = Dir.glob("#{f}/*[^~]")
  elsif File.exist?(f)
    files =  [f]
  else
    $stderr.print "#{File.basename($0)}: #{f} not found\n"
    next
  end
  files.each { |f|
    if File.file?(f)
      result.push ToSorted.new(File.size(f), f)
    end
  }
}

result.sort.each { |x|
  print x.size, ' ', x.name, "\n"
}

 



Évidemment, ce n'est pas le moyen le plus court et le plus rapide d'obtenir ce résultat.
Mais j'ai quand même utilisé ce script de temps en temps wink

Dernière modification par enicar (27-08-2017 13:08:39)

Hors ligne

#5 27-08-2017 13:45:37

debman
Membre
Lieu : Ici
Distrib. : 12
(G)UI : Gnome
Inscription : 03-05-2017

Re : [Resolu] - Lister les plus gros fichiers

Merci pour vos retours, je vais voir tout ça.

La commande find nécessite de savoir quelle taille minimale à rechercher ce qui n'est pas mon cas.

ls ... | sort ...


fonctionne bien mais je n'ai pas le chemin complet des fichiers. C'est peut-être une option du "ls" mais je ne trouve pas.


Si je te donne un poisson je te donne à manger pour un repas. Si je t'apprends à pêcher, je te donne à manger pour la vie.
Debman

En ligne

#6 27-08-2017 14:12:43

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : [Resolu] - Lister les plus gros fichiers

Bonjour
ncdu me parait le mieux vu qu'il te classe bien par taille décroissante
a tester aussi avec la commande tree mais il faut consulter le man pour les options

tree /var/log -xha --sort=size | less


.
├── [1.4M]  kern.log.1
├── [1.4M]  messages.1
├── [875K]  syslog.1
├── [782K]  daemon.log.1
├── [720K]  syslog.7.gz
├── [625K]  messages.3.gz
├── [613K]  kern.log.2.gz
├── [602K]  messages.2.gz
├── [418K]  wtmp.1
├── [371K]  user.log.3.gz
├── [359K]  wtmp
├── [353K]  ufw.log.1
├── [347K]  syslog
├── [287K]  lastlog
├── [268K]  syslog.6.gz
├── [257K]  kern.log.3.gz
├── [246K]  daemon.log.2.gz
├── [233K]  messages
├── [229K]  kern.log
├── [226K]  debug.1
├── [196K]  kern.log.4.gz
├── [193K]  messages.4.gz
├── [183K]  user.log.1
:
 

Dernière modification par Croutons (27-08-2017 14:13:39)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#7 27-08-2017 14:17:31

debman
Membre
Lieu : Ici
Distrib. : 12
(G)UI : Gnome
Inscription : 03-05-2017

Re : [Resolu] - Lister les plus gros fichiers

Bah ! je n'ai pas la commande tree

tree


bash: tree : commande introuvable


Si je te donne un poisson je te donne à manger pour un repas. Si je t'apprends à pêcher, je te donne à manger pour la vie.
Debman

En ligne

#8 27-08-2017 14:23:42

raleur
Membre
Inscription : 03-10-2014

Re : [Resolu] - Lister les plus gros fichiers

Sinon, si on veut une solution simple, il y a l'option -S de ls (trier par taille). Ajouter -r pour inverser l'ordre.

ls -lhS


Il vaut mieux montrer que raconter.

Hors ligne

#9 27-08-2017 14:24:57

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : [Resolu] - Lister les plus gros fichiers

arf oui petit paquet a installer il est pas par defaut neutral

apt install tree


mais bon pas indispensable, ça permet juste une représentation schématique de l'arborescence dans un terminale smile

@raleur ...ah oui d'autant qu'avec l'allias ls on a de belle couleurs en prime
il faut juste décommenter la ligne dans le fichier qui va bien

alias ls='ls --color=auto'


voir https://debian-facile.org/doc:programmation:bash:alias

Chez moi c'était par defaut mais c'est peut être un coup de l'ami Arpinux, vu que j'ai installé a partir d'une iso Handylinux 2.5

Dernière modification par Croutons (27-08-2017 14:33:20)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#10 28-08-2017 08:23:52

debman
Membre
Lieu : Ici
Distrib. : 12
(G)UI : Gnome
Inscription : 03-05-2017

Re : [Resolu] - Lister les plus gros fichiers

Super merci à tous je passe en résolu.
Le ls -lhsrR me plaît bien même s'il classe par répertoire alors que je voudrais tous les fichiers les plus gros en premier ou dernier avec leurs chemins.
Mais c'est bien comme ça. Un peu de gymnastique de temps en temps c'est pas plus mal.

A+

Si je te donne un poisson je te donne à manger pour un repas. Si je t'apprends à pêcher, je te donne à manger pour la vie.
Debman

En ligne

#11 28-08-2017 09:08:34

Severian
Membre
Distrib. : Debian GNU/Linux 9.4 (stretch)
Noyau : Linux 4.14.0-0.bpo.3-amd64
(G)UI : Openbox 3.6.1-4
Inscription : 13-12-2014

Re : [Resolu] - Lister les plus gros fichiers

bonsoir

debman a écrit :

Je souhaite connaître les fichiers qui saturent mon /var/log.

Je voudrait donc faire une liste des plus gros fichiers de cette partition. J'imagine qu'il faut faire une liste des fichers et les trier par taille


du /var/log/ | sort -nr
 


certains fichiers log étant "protégé" tu peux aussi passer cette commande en root

edit
un peu mieux

du -a /var/log/ | sort -hr

Dernière modification par Severian (28-08-2017 09:15:14)

Hors ligne

Pied de page des forums