#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 в этот каталог.