Muszę dowiedzieć się, ile miejsca na dysku zajmuje każdy użytkownik w sieci. Jestem świadomy df
i du
poleceń: mógłbym wymienić cały system plików i AWK dane wyjściowe, ale zastanawiam się, czy istnieje bardziej standardowe polecenie.
Wynik, którego szukam to:
usr1 xMb
usr2 yMb
[...]
Total zMb
Jakieś pomysły?
Dzięki!
PS. Red Hat Linux EE
linux
hard-drive
usage
disk-space-utilization
Escualo
źródło
źródło
Znalazłem tu inne fajne rozwiązanie . Przejdź do katalogu, zainteresowania i uruchom (alternatywnie, zmiana
.
na dowolny katalog interesy ty, np ,/home/
):źródło
-printf "%u\t%s\n"
iawk -v OFS="\t"
jeśli uważasz, że kiedykolwiek może mieć nazwę użytkownika z miejsca w nim.Lub w celu znalezienia problematycznych użytkowników (także katalogów),
a dla Solaris:
To daje listę 25 największych katalogów. Nie do końca o co prosiłeś, ale używam tego cały czas.
źródło
To, co robimy w wielu miejscach, to stosowanie systemu kwot, ale ustanawianie absurdalnie wysokich kwot. W ten sposób zyskujesz szybkie raportowanie. W jednej witrynie każdy użytkownik ma 1 TB miejsca „przydziału”.
Okresowo zwiększamy limit, gdy rośnie dysk serwisowalny - początkowo było to 30 GB na użytkownika, co było wtedy absurdalnie wysokie.
źródło
Nie ma takiego polecenia. W tym celu musisz napisać kilka poleceń powłoki.
źródło
Wydaje mi się, że metoda ThorstenS wymaga więcej pracy, ponieważ działa wiele razy. Na przykład, po prostu wykonałbym 1 polecenie find, wypisałbym właściciela i rozmiar każdego pliku, a następnie wykonałem jakąś magię na tym pliku.
Znalezienie byłoby czymś, co zwraca nazwę użytkownika (lub numer identyfikacyjny bez nazwy użytkownika) i miejsce używane w bajtach, w pliku rozdzielanym zerami:
Możesz zastąpić
\0
je czymś, co może być nieco łatwiejsze w pracy, takie jak tabulatory lub nowe linie, ale byłoby to mniej bezpieczne, jeśli masz funky nazwy plików.Jeśli chcesz być jeszcze bardziej wydajny, możesz przesłać dane wyjściowe do skryptu, który obsługuje go podczas działania, ale byłoby to trochę więcej pracy i musiałbyś to zrobić za pierwszym razem.
źródło
Zrobiłem to :) Nie szybko, ale działa:
Znaczny wzrost prędkości nastąpi, jeśli szukamy tylko identyfikatorów UID, które są> 1000:
źródło