J'ai besoin de savoir combien d'espace disque est occupé par chaque utilisateur du réseau. Je connais df
et les du
commandes: je pourrais lister l'ensemble du système de fichiers et AWK la sortie, mais je me demande s'il y a une commande plus standard.
La sortie que je recherche est:
usr1 xMb
usr2 yMb
[...]
Total zMb
Des idées?
Merci!
PS. Red Hat Linux EE
Une autre belle solution que j'ai trouvée ici . Accédez au répertoire d'intérêt, et exécuter (alternativement, changement
.
de répertoire selon les intérêts, par exemple ,/home/
):la source
-printf "%u\t%s\n"
etawk -v OFS="\t"
si vous pensez que vous jamais pourriez avoir un nom d' utilisateur avec un espace en elle.Ou pour trouver les utilisateurs problématiques (répertoires aussi),
et pour Solaris:
Cela vous donne une liste des 25 plus grands répertoires. Pas tout à fait ce que vous avez demandé, mais je l'utilise tout le temps.
la source
Dans de nombreux endroits, nous utilisons le système des quotas, mais fixons des quotas absurdement élevés. De cette façon, vous bénéficiez de rapports rapides. Sur un site, chaque utilisateur dispose de 1 To d'espace "quota".
Nous augmentons périodiquement le quota à mesure que le disque réparable augmente - au départ, il était de 30 Go par utilisateur, ce qui était absurdement élevé à l'époque.
la source
Il n'y a pas une telle commande. Vous devez écrire quelques commandes shell pour cela.
la source
La méthode de ThorstenS semble me demander plus de travail car elle s'exécute plusieurs fois. Pour un seul, je voudrais juste faire 1 commande find, et sortir le propriétaire et la taille de chaque fichier, puis faire une sorte de magie sur ce fichier.
La recherche serait quelque chose comme qui renvoie le nom d'utilisateur (ou le numéro d'identification sans nom d'utilisateur) et l'espace utilisé en octets, dans un fichier délimité par des octets nuls:
Vous pouvez remplacer le
\0
par quelque chose qui pourrait être un peu plus facile à travailler, comme des onglets ou des nouvelles lignes, mais ce serait moins sûr si vous avez des noms de fichiers géniaux.Si vous vouliez être encore plus efficace, vous pourriez diriger la sortie vers un script qui la gère au fur et à mesure de son exécution, mais ce serait un peu plus de travail, et vous devriez le faire correctement la première fois.
la source
Je l'ai fait :) Pas vite, mais ça marche:
Une grande augmentation de vitesse se produira si nous recherchons uniquement des UID supérieurs à 1000:
la source