Я должен загрузить все от FTP-сервера до хостинга на различном сервере. У меня есть доступ оболочки только к серверу, на который я загружаю файлы. Как с помощью команды Linux FTP я могу загрузить каждый файл, создав каталоги, необходимые для них в процессе?
Используйте wget
таким образом (m для зеркалирования):
wget -m ftp://username:password@ip.of.old.host
Если ваше имя пользователя или пароль содержат специальные символы, вам может понадобиться формат:
wget -m --user=username --password=password ftp://ip.of.old.host
В качестве альтернативы я нашел это руководство, которое показывает, как сделать это с помощью ncftp в Debian. Вам потребуется root-доступ к новому серверу, если ncftp еще не установлен.
Вкратце:
sudo apt-get install ncftp
ncftpget –T –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
Некоторые FTP-серверы позволяют загружать целые каталоги, добавляя к их имени суффикс .tar или .tgz. Затем сервер создает архив этого каталога.