Наверх

Считаем количество файлов в подкаталогах на Linux

"Что-то файлы на сервер перестали заливаться, проверь пожалуйста", - говорит заказчик.

Панель управления сервером показывает неутешительную картину. Количество файлов, которое можно загрузить в текущую учетную запись shared хостинга, исчерпано:

Панель управления информации о том, чем же на сервере исчерпано всё доступное количество файлов, не дает:

Штатные средства не дают особо четкой картины. Но если есть доступ к SSH на сервере, можно попробовать вычислить самую "прожорливую" папку через консоль.

Внимание! Указанные методы представляют собой пофайловый перебор и могут загрузить сервер. При большом количестве файлов время выполнения достаточно долгое.

Простой метод, позволяющий посчитать, сколько файлов всего в текущей папке (этот метод хорош, только если вы точно знаете, где искать):

find . -type f | wc -l

Решить проблему мне помогли приведенные ниже два способа. Они позволяют узнать, сколько файлов в каждом подкаталоге текущего каталога:

for f in *; do [ -d ./"$f" ] && find ./"$f" -exec echo \; | wc -l && echo $f; done

find . -maxdepth 1 -type d -print0 | xargs -0 -I {} sh -c 'echo $(find {} | wc -l) \\t {}' | sort -rn | less

Для выхода после окончания выполнения нажмите q

В качестве вывода могу отметить, что со значительной вероятностью лимит файлов исчерпал либо кэш CMS вроде WordPress или Magento, либо их же бэкап. Результат после очистки кэша WordPress в моем случае был ожидаем:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *