Назад | Перейти на главную страницу

Проблема с запуском rsync с windows server 2016 на windows server 2016

Я безуспешно пытаюсь скопировать файлы с одного хоста Windows на другой, используя либо cygwin или powershell и rsync.exe. На хосте Windows я хочу отправить копию, которая у меня есть openssh установлен, я могу подключиться к нему через Telnet по 22 и отправлять файлы через scp. Но когда я пытаюсь скопировать на него файлы с компьютера с Windows или Linux, я получаю следующую ошибку:

'rsync' is not recognized as an internal or external command,
operable program or batch file.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=3.1.1]

Это команда, которую я использую для копирования из PowerShell:

.\rsync.exe -avzh --stats -P -e C:\Users\Administrator\Desktop\rsync\ssh.exe rs
ync.html 'administrator@ip:C:\\'

Когда я запускаю ту же команду, но пытаюсь скопировать на машину CentOS 7, я меняю только administrator@ip:C:\\ к root@ip:/root/ и это работает.

Если у вас есть идеи, в чем может быть проблема, или вам нужна другая информация, сообщите мне.

К сожалению, я не могу ответить на ваш вопрос напрямую, однако, по моему опыту, могу дать вам такой же хороший обходной путь, в то время как Cygwin может дать вам хорошую платформу для использования команд Linux в Windows. Имейте в виду, что Windows - это не Linux.

У большинства команд Linux есть аналог для Windows, да, некоторые из них не однострочные, но вы смотрели на robocopy?

Робокопия - https://en.wikipedia.org/wiki/Robocopy

Поставляется установленным и может использоваться с PowerShell.

На ваше рассмотрение: я создал удобный пакет OpenSSH, который включает rsync:

https://github.com/Bill-Stewart/CygSSH

Он использует Cygwin v3, поэтому не требует специальной учетной записи службы (служба работает как SYSTEM).

Намерение состоит в том, чтобы предоставить удобную упаковку OpenSSH и rsync, которая (относительно) удобна для установки и использования на машинах Windows, поэтому у нее есть некоторые настройки по умолчанию и возможности, которые больше ориентированы на Windows:

  • Установщик поддерживает тихую установку и добавление в системный путь
  • Windows PowerShell - это удаленная интерактивная оболочка
  • Он создает локальную группу пользователей SSH для аутентификации и устанавливает ее по умолчанию в sshd_config; поддерживаются вложенные группы (например, если вы хотите управлять членством через GPO)
  • Он поддерживает предоставление доступа только по sftp к учетным записям
  • Включает rsync

Для пакета требуется Vista / Server 2008 или новее и Windows PowerShell 2.0 или новее.