Назад | Перейти на главную страницу

Перемещение большого количества маленьких файлов

Мне нужно перенести каталог с множеством небольших файлов (250 КБ, средний размер 5 МБ) с одного сервера на другой. Оба работают в Debian Linux. Есть ли протокол, который можно рекомендовать при передаче большого количества файлов?

Вы можете архивировать файлы и перемещать tar. Или труба tar с SSH: см. http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

Таргетирование файлов удаляет накладные расходы для каждого отдельного файла, так как tarball фактически является одним файлом.

Если вы не можете распаковать / распаковать на другой стороне (возможно, потому что это общий FTP-хостинг), вы мало что можете сделать.

rsync определенно соответствовал бы всем требованиям и здесь. Что-то вроде

server1$ rsync -av /your/directory server2:/destination/

Это чрезвычайно гибкий и мощный инструмент с множеством полезных опций. Запустите его с -n флаг, чтобы увидеть, что он будет делать при попытке выработать правильный синтаксис.

У вас есть вариант, если это общий хостинг, и они предлагают sftp (что есть у любых хороших) и используют sshfs для подключения удаленного сервера к вашей локальной системе. Затем вы можете перемещать файлы как обычно.