Я хочу поставить задачу по синхронизации файлов 2 удаленных серверов.
Исторически я выполнял следующее:
Однако теперь исходный сервер переместился в VPN, к которой у пункта назначения нет доступа, поэтому прямой «видимости» больше нет, поэтому теперь я прибегаю к следующему методу:
Однако у этого есть обратная сторона: для задачи синхронизации файлов может использоваться ряд различных локальных машин, и поэтому накладные расходы на создание новой локальной копии или даже необходимость хранить локальную копию на локальных машинах не являются предпочтительными.
Есть ли инструмент командной строки на базе Linux / OSX, который может выполнять вышеуказанное без локальной копии?
Если ни один из источника и назначения не может подключиться к другому концу, нет другого способа скопировать файлы, кроме как скопировать их на локальный компьютер, как описано.
Однако вы можете сделать следующее, если у вас возникли проблемы с копированием большого количества данных:
rsync
команды.Таким образом можно уменьшить емкость жесткого диска, необходимую для локального хранения файлов. Кроме того, вы можете написать их в скрипте и использовать sleep
чтобы дать локальной машине некоторое время для установки перед возобновлением работы. Вы можете использовать ключи SSH, чтобы автоматизировать это, чтобы не запрашивать пароль. Конечно, это предполагает, что вам не нужно как можно скорее скопировать данные на другой конец.
Не совсем инструмент командной строки, но есть ли у вас возможность настроить монтирование NFS? Монтирование исходной и целевой файловых систем должно дать вам то, что вам нужно.