повторная синхронизация с использованием rsync cygwin из командной строки Windows

#cmd #rsync

#cmd #rsync

Вопрос:

Я отправляю локальный файл в папку в удаленном расположении, используя rsync cygwin из командной строки Windows.

Приведенная ниже команда

 D:My Folder>C:/cygwin/bin/rsync.exe  -avh data.csv ec2-user@someserver.com::~"overhere/"
  

возвращает ошибку, « failed to connect to someserver.com : connection timed out «

Когда я пытаюсь выполнить следующую команду, чтобы поместить файл в корневую папку удаленного расположения,

 D:My Folder>C:/cygwin/bin/rsync.exe  -avh data.csv ec2-user@someserver.com~
  

в нем говорится « sending incremental file list «, но я не могу найти файл в корневой папке в удаленном расположении.

Что я делаю не так?

Комментарии:

1. Привет, я бы хотел вам помочь, но пока мне нужны дополнительные настройки вашей настройки rsync. Во-первых, какую версию Windows вы используете и какая ОС является сервером? Во-вторых, вы установили для переменных среды Windows path значение cygwin?

2. Задействован ли какой-либо прокси-сервер?

3. @CMPSoares Я работаю с Windows 7 и ищу решение, которое не требует вмешательства в «переменные среды».

4. @foobar ec2-user@someserver.com:~/overhere/ отлично работает! Спасибо. Пожалуйста, добавьте это в качестве ответа, и я назначу награду.

Ответ №1:

Тайм-аут, скорее всего, возникает из-за отсутствия демона rsync, запущенного на сервере, известном как someserver.com . Использование :: после имени удаленного хоста приведет к тому, что rsync попытается подключиться к демону rsync, запущенному на этом компьютере. Если вы используете: вместо этого, rsync попытается получить доступ к оболочке для копирования ваших данных.

Ваш второй вызов rsync.exe преуспевает, потому что rsync.exe -данные avh.csv c2-user@someserver.com ~ создает копию data.csv в вашем текущем рабочем каталоге с именем ec2-user@someserver.com ~.

Если вы используете доступ к командной оболочке, вы можете напрямую указать путь после :, если вы используете демон rsync, вы должны указать имя модуля, настроенное в /etc/rsyncd.conf на сервере после :: . Итак, в вашем случае это либо ec2-user@someserver.com :~/overhere/ для доступа к оболочке или ec2-user@someserver.com::MODULE для демона. Но, поскольку я подозреваю, что на удаленном компьютере не запущен демон rsync, вам придется сначала установить и настроить его, чтобы вторая версия работала. Первая версия будет работать через обычный доступ по SSH.

Итак, в качестве первой попытки вы можете попробовать: D:My Папка>C:/cygwin/bin/rsync.exe -данные avh.csv ec2-user@someserver.com:overhere / Это создаст папку с именем overhere в домашнем каталоге ec2-пользователя на someserver.com если он еще не существует, скопируйте локальный файл data.csv в этот каталог.