Чи має rsync можливість одночасно завантажувати шматки?


2

Я використовую rsync для власної особистої резервної копії, але в даний час у мене є провайдер, який перемикає тривалі передачі. Читаючи сторінки man rsync , я не знайшов варіанту, але мені цікаво, чи є у rsync налаштування для початку нової передачі після передачі X кількості байтів або утримування передачі протягом Y секунд.

Фактично, відключення мережного кабелю та повторне підключення кожні кілька хвилин зробить те саме, але я не сиджу вдома весь день.

Замислюючись про це, і як другорядне питання, мені також цікаво, чи rsync ініціює новий сеанс передачі файлів для кожного файлу чи надсилає його дані у вигляді одного безперервного потоку.


Хоча це не відповідає безпосередньо на ваше запитання, якщо передача резервного копіювання займає занадто багато часу, і це пов’язано з тим, що ви завжди робите повні резервні копії, було б доцільно замість цього розглянути диференціальні / додаткові резервні копії. У цих підходів є свої недоліки, але вони можуть різко зменшити кількість переданих даних, якщо це ваша основна мета.
vtest

Відповіді:


3

Ця -eопція може бути використана для визначення транспортної програми, яку вона використовує замість типового sshдля відкриття оболонки з іншого боку. Я не знаю жодної заміни, яка б зробила все, що ви хочете.

rsync працює, запускаючи rsyncd, демон rsync на віддаленій стороні та спілкуючись з ним одним довгим потоком.


Замість заміни ssh я б шукав обгортку, можливо, автошшш . У будь-якому разі я згоден на вирішення проблеми на рівні ssh, а не на рівні rsync.
Жиль

2

Яка природа дроселювання?

Якщо він запускається лише для тривалих передач певної швидкості, можливо, ви можете скористатися скороченням швидкості rsyncs зі сторінки man:

--bwlimit=KBPS
              This  option  allows  you to specify a maximum transfer rate in kilobytes
              per second. This option is most effective when  using  rsync  with  large
              files  (several  megabytes and up). Due to the nature of rsync transfers,
              blocks of data are sent, then if rsync determines the  transfer  was  too
              fast,  it  will wait before sending the next data block. The result is an
              average transfer rate equaling the specified limit. A value of zero spec‐
              ifies no limit.

Крім того, ви можете розділити файли на шматки однакового розміру, а потім запустити сценарій, який передає кожен по черзі, перебуваючи між передачами.


1

rsync буде використовувати один і той же потік даних для всіх файлів. Після первинної синхронізації будуть надіслані лише зміни файлів. Я б не турбувався про зменшення пропускної здатності, якщо ви звичайно не вносите величезних змін у дерево каталогів, яке ви створюєте.

Rsync використовує комбінацію часових позначок і контрольних сум, щоб визначити, які файли змінилися і де вони змінилися. Для файлів типу журналу є деяка синхронізація, а потім передається хвіст файлу. Повинно бути деяким уповільненням використання пропускної здатності, коли файли змінилися, оскільки файли потрібно читати та перевіряти суму з обох кінців. Їх може бути достатньо, щоб запобігти запусканню пропускної здатності пропускної здатності.

Резервні копії rsync можуть бути перервані та відновлені пізніше. Потім буде продовжено резервне копіювання поточних змін, включаючи будь-які пропущені зміни з попередніх запусків. Якщо у вас є великий файл для резервного копіювання, часті перерви можуть не працювати. Потрібно дозволити йому працювати досить довго, щоб перенести файл. Будь-яка стратегія, заснована на частих перериваннях резервного копіювання, схожа на збій.

ssh зашифровано і його слід звільнити від дроселювання, хоча вони можуть придушити його для великих пакетів. Якщо вони дроселюють за розміром пакета, ви отримаєте заглушку незалежно від того, як часто ви перериваєте процес. Оскільки ви, ймовірно, переносите лише невелику частину структури вашої каталогів, вимкнення все-таки повинно залишати вам досить швидке резервне копіювання.


В даний час я роблю початкове резервне копіювання в основному свіжому диску. Як тільки це буде зроблено, мені не доведеться так сильно турбуватися про дроселювання.
palswim

У цьому випадку я б просто запускав rsync стільки, скільки потрібно. Це простіше, якщо ви зможете зробити це через локальну мережу, а не через Інтернет
BillThor

1

Цікаво, чому ніхто не згадав написати сценарій, який раз у раз надсилає SIGSTOP і SIGCONT до процесу rsync.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.