Какой самый лучший и самый быстрый способ расчета размеров каталогов? Например, у нас будет следующая структура:
/users
/a
/b
/c
/...
Нам нужно, чтобы выходные данные были в каталоге пользователя:
a = 1224KB
b = 3533KB
c = 3324KB
...
Мы планируем иметь десятки, может быть, даже сотни тысяч каталогов в каталоге / users. Работает следующая команда оболочки:
du -cms /users/a | grep total | awk '{print $1}'
Но нам придется называть это N раз. Все дело в том, что на выходе; Размер каталога каждого пользователя будет храниться в нашей базе данных. Кроме того, мы бы хотели, чтобы он обновлялся как можно чаще, но без блокировки всех ресурсов на сервере. Можно ли рассчитывать размер каталога пользователей каждую минуту? Как насчет каждые 5 минут?
Теперь, когда я еще подумываю об этом, имеет ли смысл использовать node.js? Таким образом, мы можем рассчитать размеры каталогов и даже вставить их в базу данных за одну транзакцию. Мы могли бы сделать это также в PHP и Python, но не уверены, что это так быстро.
Спасибо.