Быстро перенести файлы с одного хостинга на другой

Qwest-fx

Профессор
Регистрация
3 Апр 2007
Сообщения
134
Реакции
41
Появилась задача перенести много файлов в основном картинки
с одного ftp на другой, по привычке в filezilla поставишь число потоков и всё.
Но сейчас задача, чуть другая. Т.к. X сервера нет, и это как-то глупо ставить иксы чтобы скачать/заказать файлы.

Как скачать себе файлы, я нашёл
Вот, возможно кому-то пригодится
Скрытое содержимое доступно для зарегистрированных пользователей!

Осталось решить как отправить всё.
При перекачивании возникли ошибки, файлы с русскими буквами.
Как отправить файлы на другой ftp, тоже несколько потоков?
Как скачать файлы с неправильной кодировкой имени?
 
если на сервере есть установлено хоть что либо которое подразумевает упаковку, даже тот же php, лучше завернуть всё в либо tar либо другой архив, качнуть архив и на другом сервере распаковать
 
Нет доступа к ssh
я предпочитаю rsync -Saz и так далее, если есть доступ.
По поводу упаковки, покажите мне хостинг который даст много памяти чтобы в архивы собирать гигагайты? Да ещё и с помощью php. Это сколько времени надо, чтобы с помощью php сжать 4 гига, картинок, и потом их скачать, а распаковывать потом как?
Не надо придумывать и выкручиваться, есть vps есть ssh доступ.
Нужно с помощью этой vps заливать/качать, т.е. использовать как посредника с быстрым интернетом. cli only
Надеюсь, что кто-то приведет пример использовать lftp в обратном направлении, в многопоточном режиме
 
если у вас достаточно места на сервере, то не обязательно упаковывать, достаточно сделать tar и его скачать одним файлом. если есть ssh, то достаточно запустить команду
Код:
tar -zcvf archive-name.tar.gz directory-name
- это с упаковкой
Код:
tar -cvf archive-name.tar directory-name
- это без упаковки

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

использование фтп или sftp для скачивания большого колличества файлов - нерационально
 
А что это за rsync -Saz без консоли ssh ?
Шумадан и Кенни дали Вам вполне годные варианты. Если они Вас не устраивают, это частный случай, который требует частного решения, а возможно и реализации.
Возможно найдете что то в этой статье Для просмотра ссылки Войди или Зарегистрируйся
или пилите свой многопоточный файловый менеджер на пхп.
 
Всё что написано выше это замечательно, и даже то что, tar есть уже в php
PHP:
<?php
try {
    $a = new PharData('archive.tar');
    $a->buildFromDirectory('test/');
} catch (Exception $e) {
    echo "Exception : " . $e;
}
Но всё же, мне нужно было, что-то на примере этого
Скрытое содержимое доступно для зарегистрированных пользователей!

Работает в обратном направление, т.е. отправляет на ftp файлы.

И если у Вас есть VPS/Dedicated с хорошим интернетом, то перенести сайты с огромным числом файлов, не составляет труда.
Главное запустить команду в screen, и после проверить логи.
Подытоживая тему, хотелось услышать именно консольные инструменты для работы параллельно/многопоточно по протоколу ftp в *nix подобных системах.
Возможно эти строчки кому-то помогут.
 
консольные шелл или реализация аплоадера на php?
шелл
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
на похапе
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

важно отметить, что при передаче большого количества файлов, даже в многопоточном режиме вы будете терять на каждом файле время на открытие и закрытие фтп соединения, что в итоге добавит к общему времени копирования.
 
rsync -avuz /var/www/example.com/ root@108.175.12.239:/var/www/example.com/
самый быстрый способ - файлы сжимаются при передаче
 
Назад
Сверху