Синхронізація файлів у Linux через мережу: scp чи rsync?


2

У мене є два Linux (Debian) машини "A" і "B", підключені один до одного бездротовим зв’язком через маршрутизатор.

На машині "A" я запускаю скрипт, який кожні 5 секунд генерує новий файл 1 МБ у певній папці (наприклад, ~ / файли /). Файли не змінюються після покоління.

Після генерування файлу він повинен бути доступний на машині "B" разом з іншими файлами, які були створені раніше.

Який найефективніший спосіб (відповідно до використання процесора / мережі та часу передачі)?

Пропозиції:

  • запустіть scpу скрипті, щоб скопіювати файл після його генерування, тому кожен файл копіюється окремо.

  • запустіть rsyncдля синхронізації вмісту папки між машинами.

Відповіді:


2

Використовуйте rsync. SCP має більші витрати.

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


2

Використовуйте Rsync,

Rsyc копіює лише ті файли, які були змінені з моменту останньої копії, і економить багато пропускної здатності та процесора.

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


1

Ви також можете зробити спільну папку між цими двома машинами з, скажімо, NFSабо іншим протоколом обміну.

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