Как удалить файлы через FTP, если в каталоге более 100 000 файлов? - PullRequest
3 голосов
/ 15 января 2009

Я пошел, чтобы загрузить новый файл на мой веб-сервер, чтобы получить ответное сообщение о том, что моя дисковая квота заполнена ... Я не использовал свое выделенное пространство, а скорее выделенное количество файлов. Мой хост ограничивает общее количество файлов примерно 260 000.

Проверяя мои папки, я считаю, что нашел виновника ...

У меня есть небольшое приложение для базы данных DVD (Video dB By split Brain), которое я установил и спрятал на своем веб-сайте для личного использования. Он, очевидно, кеширует данные из IMDB, и за эти годы тайно накопил то, что, вероятно, близко к ЗЕРКАЛО IMDB на данный момент. Я не знаю наверняка, но у меня была 2-я (неактивная) копия программы на хосте, которую я создал несколько лет назад, которую я использовал для тестирования, когда менял ее части. Папка кэша в этой неактивной копии содержала 40000 файлов общим объемом 2,3 ГБ. Я смог удалить эту папку по FTP, но это заняло более часа. К счастью, это также дало мне очень необходимую передышку.

... Но теперь, как вы можете себе представить, папка кеша для активной копии этого веб-приложения, вероятно, имеет ближе к 150000 файлам, общим объемом данных около 7 ГБ.

Вот тут и возникает моя проблема ... Я использую Flash FXP для своего FTP-клиента и всякий раз, когда я пытаюсь удалить папку кеша или даже просто просмотреть содержимое, которое она будет сидеть, и попытаться загрузить список файлов для 5 минут, а затем потерять соединение с сервером ...

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

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

Любая помощь будет принята с благодарностью.

Ответы [ 4 ]

5 голосов
/ 15 января 2009

Кто-нибудь знает, как я могу удалить эти файлы?

Отправить запрос в службу поддержки с просьбой удалить его для вас?

3 голосов
/ 15 января 2009

Похоже, это может быть время для утилиты FTP командной строки. Один поставляется практически со всеми операционными системами. С таким количеством файлов я написал бы сценарий для моего FTP-клиента из командной строки, который переходит к рассматриваемой папке и выполняет распечатку каталога, перенаправляя вывод в файл. Затем используйте магию (или perl или что-то еще) для обработки этого файла в новый сценарий FTP, который запускает команду удаления для всех файлов. Да, это займет много времени.

Если сервер поддерживает подстановочные знаки, сделайте это вместо этого и просто удалите . .

Если все это кажется слишком большой работой, откройте заявку в службу поддержки у своего хостинг-провайдера и попросите его очистить ее непосредственно на сервере.

Сказав все это, на самом деле это не вопрос программирования, и, вероятно, его следует закрыть.

1 голос
/ 17 июля 2013

Если ваш провайдер предоставляет доступ по ssh, вы можете использовать одну команду rm для удаления файлов.

Если нет доступа к командной строке, вы можете попробовать какой-нибудь мощный FTP-клиент, такой как CrossFTP . Работает на win, mac и linux. Когда вы решите удалить огромное количество файлов на вашем сервере, он может быть поставлен в очередь в операциях удаления, так что вам не нужно повторно загружать папку. При перезапуске CrossFTP очередь также может быть восстановлена ​​и продолжена.

1 голос
/ 15 января 2009

Некоторое время назад у нас был вопрос, где я провел эксперимент, чтобы показать, что Firefox может без проблем просматривать каталог с 10 000 файлов через FTP. Предположительно 150 000 также будет в порядке. Firefox не поможет вам удалить, но он может помочь в захвате имен файлов, которые вам нужно удалить.

Но сначала я бы просто попробовал клиент командной строки ncftp. Это хорошо спроектировано, и мне повезло с этим в прошлом. Вы можете удалить большое количество файлов одновременно, используя шаблоны оболочки. И он доступен для Windows, MacOS, Linux и многих других платформ.

Если это не сработает, вы говорите как постоянный клиент - можете ли вы попросить вашего интернет-провайдера предоставить привилегию учетной записи оболочки на неделю, чтобы вы могли удаленно войти в систему с помощью Putty или ssh и уничтожить весь каталог с помощью одной rm -r команды?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...