Синхронизация файлов в Linux по сети: scp или rsync?

у меня есть две машины Linux (Debian) "A" и "B", подключенные друг к другу по беспроводной сети через маршрутизатор.

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

после того, как файл сгенерирован, он должен быть доступен на машине " B " вместе с другими файлами, которые были сгенерированы ранее.

что большинств эффективный способ (согласно использование процессора / сети и время передачи), чтобы сделать это?

предложения:

  • run scp в скрипте скопировать файл после его генерации, поэтому каждый файл копируется отдельно.

  • run rsync для синхронизации содержимого папки между машинами.

27
задан Jakuje
13.04.2023 6:56 Количество просмотров материала 3569
Распечатать страницу

3 ответа

использовать rsync. У SCP большие накладные расходы.

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

2
отвечен Jakuje 2023-04-14 14:44

Использовать Rsync,

Rsyc копирует только файлы, которые изменились с момента последней копии и сохраняет большую пропускную способность и ЦП.

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

2
отвечен warhansen 2023-04-14 17:01

вы также можете сделать общую папку между этими двумя машинами, скажем,NFS или другой протокол обмена.

1
отвечен vfsoraki 2023-04-14 19:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх