Мне нужно выяснить, сколько дискового пространства занимает каждый пользователь в сети. Я знаю df
и du
команды: я мог бы перечислить всю файловую систему и AWK вывод, но мне интересно, есть ли более стандартная команда.
Результат, который я ищу:
usr1 xMb
usr2 yMb
[...]
Total zMb
Есть идеи?
Спасибо!
PS. Red Hat Linux EE
Еще одно приятное решение, которое я нашел здесь . Перейдите к интересующему каталогу и запустите (в качестве альтернативы измените
.
на тот каталог, который вас интересует, например ,/home/
):источник
-printf "%u\t%s\n"
иawk -v OFS="\t"
если вы думаете, что у вас когда-либо может быть имя пользователя с пробелом в нем.Или для поиска проблемных пользователей (каталоги тоже),
и для соляриса:
Это дает вам список из 25 крупнейших каталогов. Не совсем то, что вы просили, но я использую это все время.
источник
Во многих местах мы используем систему квот, но устанавливаем нелепо высокие квоты. Таким образом, вы получаете преимущество быстрой отчетности. На одном сайте у каждого пользователя есть 1 ТБ пространства «квоты».
Мы периодически увеличиваем квоту по мере роста исправного диска - изначально он составлял 30 ГБ на пользователя, что было абсурдно высоким в то время.
источник
Нет такой команды. Вы должны написать несколько команд оболочки для этого.
источник
Метод ThorstenS, кажется, требует больше работы, чем мне нужно, потому что он запускает поиск несколько раз. Для начала я бы просто выполнил команду 1 find и вывел владельца и размер каждого файла, а затем применил к этому файлу какую-то магию.
Поиск будет что-то вроде того, что возвращает имя пользователя (или номер идентификатора без имени пользователя) и пространство, используемое в байтах, в файле с разделителями из нулевого байта:
Вы можете заменить что-
\0
то, с чем может быть немного проще работать, например, вкладками или новыми строками, но это будет менее безопасно, если у вас есть прикольные имена файлов.Если вы хотите быть еще более эффективным, вы можете перенаправить вывод в скрипт, который обрабатывает его во время работы, но это будет немного больше работы, и вам придется сделать это правильно с первого раза.
источник
Я сделал это :) Не быстро, но работает
Большое увеличение скорости произойдет, если мы будем искать только UID> 1000:
источник