Я просто переехал и обнаружил после некоторой проб и ошибок, что где-то между моим домом и моим удаленным сервером происходит некоторое регулирование ... но регулирование не очень разумно. Это только душит отдельные связи. Поэтому, если я скопирую один файл размером 1 ГБ, он будет работать со скоростью 150 кбит / с. Но если я инициализирую 10 копий, каждая из них будет работать со скоростью 150 кбит / с (т. Е. Я получу гораздо более высокую совокупную пропускную способность по нескольким соединениям).
Я использую rsync довольно часто для синхронизации некоторых больших наборов данных с работы на дом (к счастью, в виде множества файлов). Есть ли способ сообщить rsync о загрузке, используя несколько соединений? Теоретически это должно быть возможно, поскольку, насколько я могу судить, rsync сначала делает проход, чтобы определить необходимые изменения, а затем выполняет фактическую передачу. Бонусные баллы, если есть волшебный способ сказать rsync нарезать отдельные файлы на N частей, а затем соединить их вместе. Я считаю, что CuteFTP на самом деле достаточно умен, чтобы справиться с этим.
источник
У GNU Parallel есть решение .
Я переместил 15 ТБ через 1 Гбит / с, и это может насытить канал 1 Гбит / с.
Следующее запустит один rsync для большого файла в src-dir для dest-dir на сервере fooserver:
Созданные каталоги могут иметь неправильные разрешения, а файлы меньшего размера не передаются. Чтобы исправить это, запустите rsync в последний раз:
источник
Да. Такая особенность существует.
Существует утилита pssh, которая предоставляет описанную функциональность.
Я не уверен, насколько легко это настроить, но это может помочь!
источник
Я не могу комментировать, поэтому я добавил новый ответ с немного лучшим кодом, чем предыдущий (хороший и умный) код.
Проверьте
rsync
строку, потому что она содержит необязательныйionice
твик.источник
Похоже, кто-то написал эту утилиту для вас. Это разбивает передачу на параллельные куски. Это лучшая реализация, чем версия "параллельного большого файла", перечисленная в разделе GNU Parallel:
https://gist.github.com/rcoup/5358786
Кроме того, lftp может распараллелить передачу файлов через ftp, ftps, http, https, hftp, fish, sftp. Часто у lftp есть некоторые преимущества, потому что управление разрешениями, ограниченным доступом и т. Д. Для rsync может быть сложной задачей.
источник
Нет, такой функции не существует. Вы можете разделить синхронизацию на несколько вызовов,
rsync
если вы действительно этого хотите.Я бы посоветовал вам найти все, что делает это ограничение скорости, и серьезно поговорить с тем, кто его поддерживает / управляет.
источник
Я хотел перенести несколько каталогов (со многими файлами) одновременно, поэтому я создал этот небольшой скрипт:
Я сделал этот скрипт довольно быстро, поэтому, пожалуйста, пересмотрите его и протестируйте перед использованием в производственной среде.
источник
Я создал следующий скрипт для параллельной загрузки множества папок с изображениями. Вы запускаете его сначала с целью синхронизации, а затем со всеми именами папок для копирования.
Он добавляет префикс имени папки в желтом цвете ко всем выводам консоли rsync, чтобы он выглядел красиво.
источник
Aria2 - хорошая клиентская программа для загрузки данных с использованием множества соединений с множества зеркал. Он не поддерживает SFTP. Итак, я установил FTP-сервер - vsftpd . Мое 3g соединение работает на полную мощность с 5 подключениями к FTP-серверу.
источник