Назад | Перейти на главную страницу

Выяснение того, что занимает больше всего места на FTP-сервере

Моя компания разместила FTP, и в настоящее время у нас превышена дисковая квота. Мне нужен способ узнать, какие папки на FTP являются самыми большими виновниками, чтобы я мог посмотреть, смогу ли я избавиться от чего-либо. У меня нет времени посещать каждую папку, глядя на размеры файлов, но мне было интересно, есть ли какое-нибудь программное решение для этого.

Это были полезные ответы, но в данном случае они не помогли.

В конце концов, я смог с помощью Filezilla выполнить поиск файлов более определенного размера и отобразить их в порядке размера. Это не позволило мне получить самые большие каталоги, но зато дало мне самые большие файлы, что, возможно, более полезно.

Спасибо, в любом случае!

Это зависит от программного обеспечения FTP-сервера, используемого на другом конце.

Некоторые демоны FTP, подобные unix, поддерживают получение рекурсивного списка каталогов (вы получите вывод, аналогичный тому, который дает ls -lR), который вы можете сканировать вручную для поиска больших файлов, но это не стандартная функция. Вы можете попробовать просто ввести команду ls -lR прямо и посмотреть, что вы получите, или LIST -lR.

Если у вас есть SSH-доступ к удаленному концу, а также FTP, вы можете использовать du команда для вывода списка размеров каталогов. Если вы находитесь в каталоге верхнего уровня области, для которой у вас есть фиксированная квота, то выдача du сделают трюк или du -h если вы предпочитаете вывод в Гб / Мб / Кб вместо байтов. Также du -sc * (или du -shc *) отобразит сводку для текущего каталога без отдельных чтений для всех подкаталогов.

Изменить: я забыл добавить выше, что если вы входите в систему через FTP-клиент командной строки (или можете видеть полный журнал активности в любом используемом вами клиенте на основе графического интерфейса), сервер может идентифицировать себя (т.е. фактический используемый демон FTP и его версия число). Если это так, вы можете использовать эту информацию, чтобы найти документацию для сервера и посмотреть, поддерживает ли он официально рекурсивный список каталогов.

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

Гораздо лучший вариант, но, вероятно, доступный только в случае использования Linux, заключается в использовании файловой системы FTP на основе FUSE (http://sourceforge.net/apps/mediawiki/fuse/index.php?title=NetworkFileSystems#CurlFtpFS) - это позволит вам использовать такие команды, как du и find непосредственно в файловой системе FTP с вашего локального компьютера.

Если вы можете войти на FTP-сервер (и на нем работает что-то достаточно unix-подобное), вы можете использовать find или du ​​для поиска пользователей пространства.

Чтобы рекурсивно найти большие файлы с помощью du, вы можете использовать «du -s *» (или «du -s * | sort -n»), чтобы найти самые большие каталоги и файлы, а затем рекурсивно продвигайтесь вниз по дереву, концентрируясь на них. .

Чтобы найти большие файлы с помощью find, используйте "find. -Type f -size +пM -print "(это должно дать вам список всех файлов размером более n МБ). При тщательной настройке n вы должны получить именно большие файлы.

Если у вас нет доступа к оболочке, вам придется войти на размещенный FTP-сайт и использовать команду FTP «dir» для получения этой информации. Вскоре я не знаю ничего готового для рекурсии и поиска больших файлов, но есть несколько программ для зеркалирования FTP, и, возможно, одна из них позволит вам получить локальную копию сайта, чтобы вы может делать там обнаружение на основе оболочки.

Если у вас есть доступ к cPanel, тогда у вас есть очень красивый и точный инструмент «Использование дискового пространства» в категории «Файлы».

Если вы используете * NIX, то:

for i in G M K; do du -ah | grep [0-9] | sort -nr -k 1; done | head -n 11

Дает вам 10 самых больших файлов.

Запустите его из каталога, в котором вы хотите искать.