Пытаюсь разобраться, как лучше использовать rsync на Windows.

Вопрос или проблема

Я новичок в rsync и нуждаюсь в помощи с синтаксисом или общим пониманием.

У меня есть 3 сервера:

  1. Источник (SRC)

  2. Назначение (DST)

  3. Сервер, на котором установлены rsync и ssh.

Я использую rsync из Cygwin

Примечание: SRC и DST не имеют установленного rsync. Все 3 сервера работают на Windows 2012 R2.

Моя цель: Мне нужно скопировать/синхронизировать папку X, расположенную на SRC, например C:\Program Files\X, на DST в том же расположении.

Я выполняю эту команду:

rsync -a \\SRC_server\Program Files\X \\DST_server\Program Files\X

Я получил ошибку, что не удалось распознать путь.

Примечание: Сервер, на котором установлен rsync, мог видеть и записывать на SRC и DST, то есть я мог получить доступ и записывать на удаленные серверы.

Мои вопросы:

  1. Мне нужно установить rsync и ssh на SRC и DST тоже?
  2. Что не так с синтаксисом моей команды?

Я хочу простую опцию для копирования/синхронизации, а позже оптимизирую ее. Сейчас я даже не могу скопировать файлы с SRC на DST, поэтому хотел бы увидеть, может кто-то помочь мне решить эту проблему.

Спасибо за поддержку, но наша команда решила воздержаться от использования rsync.

Мы все еще рассматриваем 2 варианта:

  1. Резервное копирование/восстановление с помощью WSB.
  2. Все еще поиграть с tar или даже zip-утилитой, но изменить рабочий процесс.

Я думаю, что в моем случае виновата задержка сети. Поэтому я собираюсь следовать шагам tar/copy/untar, но вместо выполнения этого удаленно я буду делать tar локально. Надеюсь, это может изменить ситуацию.

Таким образом, данный тикет по rsync можно закрыть как несущественный.

Ответ или решение

Конечно! Давайте разберем ваши вопросы по использованию rsync на Windows, и я постараюсь помочь вам максимально эффективно.

Ответ на ваши вопросы

  1. Должен ли я установить rsync и ssh на SRC и DST?
    Если вы хотите использовать rsync как мощный инструмент для синхронизации данных, то установка rsync и ssh на SRC и DST будет очень полезной. Это позволит вам более эффективно выполнять синхронизацию, особенно при большом объеме данных или частых изменениях. Однако, если вы хотите просто скопировать файлы, вы можете выполнить задачу, не устанавливая rsync на оба сервера, используя команду с вашего сервера (где установлен rsync), но с некоторыми ограничениями.

  2. Что не так с синтаксисом моей команды?
    Ваш синтаксис команды имеет несколько нюансов. Во-первых, Windows использует обратные слэши \ для обозначения путей, и они могут конфликтовать с rsync. Также вы можете использовать URL-формат smb для доступа к сетевым ресурсам. Вам следует попробовать следующую команду:

    rsync -a --progress --delete "C:/Program Files/X/" "user@DST_server:/cygdrive/c/Program Files/X/"

    В этой команде:

    • Используются одинарные/двойные кавычки для путей, чтобы избежать проблем с пробелами.
    • user@DST_server — замените user на имя пользователя на сервере назначения.
    • Убедитесь, что у вас есть доступ по SSH к серверу назначения.

    Если вы используете общие папки Windows, укажите путь как:

    rsync -a --progress --delete "//SRC_server/Program Files/X/" "//DST_server/Program Files/X/"

    Здесь также помните, что нужно использовать двойные слэши для обозначения сетевого пути.

Рекомендации по оптимизации и другим инструментам

Если вы столкнулись с проблемами из-за сетевой задержки, возможно, использование таких инструментов, как tar или zip, будет более подходящим в вашем случае. Вы можете создать архив с файлами на одном сервере, затем передать его на другой и разархивировать:

  1. Создайте архив на SRC:

    tar -cvf archive.tar "C:/Program Files/X"
  2. Перенесите архив на DST, используя SCP или другой метод.

  3. Разархивируйте на DST:

    tar -xvf archive.tar -C "C:/Program Files/"

Заключение

Я понимаю, что ваша команда решила не использовать rsync, однако предложенные мной идеи могут помочь вам в будущем! Вы всегда можете обратиться к более простым методам, при этом оптимизируя их по мере необходимости. Если будут вопросы или нужна дополнительная помощь, не стесняйтесь задавать их!

Оцените материал
Добавить комментарий

Капча загружается...