«Что-то файлы на сервер перестали заливаться, проверь пожалуйста«, — говорит заказчик.
Панель управления сервером показывает неутешительную картину. Количество файлов, которое можно загрузить в текущую учетную запись 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 в моем случае был ожидаем: