Вопрос по rsync или другому способу синхронизации

primehostnet

Мастер
Регистрация
28 Июн 2015
Сообщения
170
Реакции
33
Добрый день. Подскажите по такому вопросу.

Есть удаленный ftp с авторизацией по логину/паролю. На него регулярно выкладывают папки с архивами нужной мне информации. Мне бы хотелось регулярно эту информацию скачивать на свой сервер. Делать это wget достаточно долго, так как там большое кол-во файлов, а wget качатет по одному.
Можно ли это делать с помощью rsync? Если да, подскажите пожалуйста какой командой это можно сделать.
Я пытался это делать так

rsync -vP fz223free@ftp.zakupki.gov.ru:/out/published/Adygeya_Resp/purchaseNoticeOK/daily /home/fz223/

Но ничего не получилось. Может ли rsync сделать такое? Если нет, то подскажите альтернативу которая могла бы скачивать большое колличество файлов с удаленного ftp не в 1 поток
 
rsync не умеет работать с ftp, только с ssh.
У меня была когда то такая задача, решал с помощью скрипта на перле ftpsync кажется.
В принципе работает нормально, синхронизирует только новые и измененные файлы, но медленнее чем rsync - все таки ftp коннекты это не ssh.
Если надо, могу порыться в закромах, найти скрипт, если вдруг не найдете сами.
 
rsync не умеет работать с ftp, только с ssh.
У меня была когда то такая задача, решал с помощью скрипта на перле ftpsync кажется.
В принципе работает нормально, синхронизирует только новые и измененные файлы, но медленнее чем rsync - все таки ftp коннекты это не ssh.
Если надо, могу порыться в закромах, найти скрипт, если вдруг не найдете сами.
Вы об этом ведете речь?
Для просмотра ссылки Войди или Зарегистрируйся

а как у него обстоят дела с многопоточностью? мне нужно перетянуть 180-200 гб в виде 2-3 миллионов файлов
 
Пакуйте в архив папки и тяните одним файлом
 
Вы об этом ведете речь?
Для просмотра ссылки Войди или Зарегистрируйся

а как у него обстоят дела с многопоточностью? мне нужно перетянуть 180-200 гб в виде 2-3 миллионов файлов
да, похоже именно этот.
по многопоточности не уверен, не помню, надо проверять. Но вообще этот скрипт для синхронизации, чтобы не тянуть лишние файлы.
Возможно, в вашем случае действительно легче и быстрее будет все архивами перетаскивать, либо еще какие то инструменты использовать не для синхронизации, а для бекапа...
 
Пакуйте в архив папки и тяните одним файлом

Если бы это было мое фтп, то я бы так и поступил, но увы, посмотрите на адрес, поймете

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

нет возможности паковать в архив, фтп не мой.
 
:)
Только сейчас понял, что я, похоже, вообще зря сюда влез.
Речь же о синхронизации из под *nix ОСи. Так? ))
rsync - это же оттуда))
Но FileZilla и под линукс есть)))

Я к сожалению не знаю ни одного FTP клиента, который бы грузил в несколько "потоков" (т.к. я их вообще мало знаю))).

Вообще, ФТП как раз выгодно отличается от ХТТП тем, что он может работать со множеством потоков в рамках одной сессии. Но для каждого потока открывается новый порт. Потому в каждом конкретном случае все будет зависеть от того, как сконфигурирован ФТП-сервер.

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

Я для своих задач использую программку xstarter - очень хороший, продвинутый шедулер. Он и синхронизироваться с фтп умеет.
xstarter.com/rus/download.php - брать исключительно крайнюю бету!

Для синхронизации, если только разово надо выкачать большой объем, а затем выкачивать только новое - xstarter вполне подойдет.
Если же каждый раз надо выкачивать миллионы файлов - это, конечно, проблема...

Может, как вариант, воспользоваться каким-то приложением, которое будет "выкачивать сайт" для создания локальной копии?
Там есть много "потоков" (множественные сессии). Настроить только на одну ссылку - будет выкачивать нужную папку =)

ЗЫ.
Выпил кофе - начал хотя бы проспаться))
 
Последнее редактирование:
Видимо мне нужно было это сразу обозначить, но мне нужно это все делать на сервере к которому я подключаюсь по ssh, так что мне нужно консольное решение.

Да, Filezilla отлично выкачивает весь этот объем в 10 потоков за очень короткий промежуток времени. Но качать и заливать на свой сервак уже надоело.

Пока пришло в голову накидать индексатор, кторый будет ходить по фтп и все это индексировать, а сами файлы подтягивать мультикурлом.
 
Пока пришло в голову накидать индексатор, кторый будет ходить по фтп и все это индексировать, а сами файлы подтягивать мультикурлом.
ls из под lftp ?
Для просмотра ссылки Войди или Зарегистрируйся
 
Варианта получить SSH нет?
Можно сделать ключ и кинуть в корень акка, может сработает.

Еще при рсинке хорошо использовать параметры avz
будет при передаче сжимать процесс пойдет быстрее в разы
Мы пользуем эту команду со следующими атрибутами:

rsync -avz --stats --progress /dir/ root@8.8.8.8:/dir/

Мы считаем это наиболее оптимальным набором атрибутов для этой команды.
 
Назад
Сверху