2014-09-17 4 views
-1

Как рекурсивно получить файлы в каталоге, если этот каталог имеет индекс. * Файл?wget Не загружать каталог с индексом. * File

Мне нужно скопировать несколько каталогов на разных сайтах, расположенных на общем хостинге (без SSH), в их новый дом на VPS. Попытка сделать это сервер для сервера.

wget -r -e robots=off --no-parent --user=myusername --password=mypass http://mywebsite.com/mydir/ 

Это прекрасно работает загрузка всех файлов и подкаталогов в и ниже «MYDIR» с одной сделки убийцей вопроса. Если в любом из каталогов есть index.html, index.php и т. Д., Он не будет загружать содержимое этого каталога. Он либо загрузит только index.html, либо если index.php загрузит его, изменив файл на index.html.

Я пробовал множество различных комбинаций -p -m -no-cookies -ftp flags и т. Д., И ничего не получает каталоги, у которых есть индекс. * File.

Я пытаюсь заставить это работать, не создавая tar на исходном сервере и не загружая его.

Существует огромное количество статей о SO и других сайтах о создании файла index.html, но я не мог найти никакой информации об этом, пропуская каталог, если присутствует индексный файл. Было бы неплохо, если бы копия не создала index.html, но теперь моя главная проблема - получить полный каталог, если есть индекс. * File.

Спасибо за любую помощь.

ОБНОВЛЕНИЕ: @ Рино получил меня на ходу. Перепробовал новую учетную запись FTP с помощью следующей команды и всех каталогов, включая файлы с индексом. * Можно успешно загрузить сейчас.

wget -r [email protected] --ftp-password=mypass ftp://ftp.mywebsite.com/mydir/ 
+1

Невозможно, если вы либо не знаете все имена файлов в одном из этих каталогов, либо вы подключаетесь по FTP – Reeno

+0

@Reeno Я пытался wget с ftp раньше, но, должно быть, что-то пропустил. Создал новую учетную запись FTP, и она работала на этот раз. Спасибо. Если вы хотите добавить это в качестве ответа, я буду рад принять его. –

ответ

0

wget никогда не загружает целые каталоги по http. Вы получаете то, что иногда веб-сервер позволяет каталогам быть представленными в виде списка его содержимого. Фактический формат - это html-страница, так что wget затем рекурсивно извлекает все ссылки на этой странице.

Если вы имеете ftp-доступ к сайту, вы можете использовать ftp вместо этого. В отличие от http ftp предназначен для передачи файлов из файловой системы в другую. Большинство ftp-клиентов имеют возможность извлекать целые каталоги (включая подкаталоги) без выбора каждого файла. Существует множество вариантов, но просто размещение ftp://your.hostname.com в строке местоположений вашего файлового менеджера обычно запрашивает имя пользователя и пароль, и вы можете перетаскивать целые каталоги в большинстве ОС.