Как использовать rsync с ПК с Windows на удаленный сервер Linux?

23

Как использовать rsyncкоманду с локальной машины Windows 7 на удаленный сервер Linux?

Какое программное обеспечение требуется на компьютере с Windows 7 для использования rsync?

Удаленный сервер Linux использует Amazon AMI от Linux. Команда rsyncуже включена на машине, и я могу редактировать любой необходимый доступ к машине.

Это для целей настройки веб-сервера на удаленном компьютере и редактирования на моем локальном компьютере и синхронизации файлов.

Мне не нужен двусторонний доступ между компьютерами, я буду только редактировать файлы на своем локальном компьютере и обновлять их на удаленном компьютере.

ОБНОВИТЬ:

Я установил cygwin на свой компьютер с Windows 7 и установил пакет rsync . Может ли кто-нибудь предоставить инструкции по удаленному подключению компьютера с Windows 7 к серверу Linux?

Скажем, я хочу, чтобы папка называлась C:\wwwна моей машине с Windows и поддерживала ее обновление \var\wwwна удаленной машине, как мне это сделать? Это не резервная копия как таковая, она обновляет файлы, которые я редактирую на своем локальном компьютере.

paradd0x
источник

Ответы:

9

У меня есть MinGW (также известный как «Git Bash» ) в Windows 7 и командный файл, который запускает rsync для резервного копирования файлов на внешний диск на удаленном компьютере с Linux. Вот командный файл ( my_rsync_file.bat)

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60  --exclude Downloads . 'my_remote_linux_computer@128.95.170.200:/media/my_remote_linux_computer/LaCie/My\ Documents'"

Вот немного построчное объяснение:

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)

Это просто выдает сообщение, чтобы напомнить мне, что происходит.

cd ../

Это изменяет каталог на один уровень выше, где находится пакетный файл (на «Мои документы»). Пакетный файл находится на внешнем диске на моем компьютере с Windows. Я хочу синхронизировать все папки «Мои документы» на этом внешнем диске с папкой с тем же именем на внешнем диске на моем удаленном компьютере с Linux.

REM starting rsync...

Просто печатает другое сообщение.

bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . my_remote_linux_computer@128.95.155.200:/media/my_remote_linux_computer/LaCie/My\\ Documents"

bash: запускает MinGW, который имеет встроенную библиотеку rsync
-c: не уверен, что это делает
rsync: библиотека для синхронизации файлов, поставляется с MinGW
-avzh: a-Archive, v-Verbose, z-Compress, h-Human-readable, это общие параметры (подробнее: http://linux.die.net/man/1/rsync )
-P: показать прогресс для больших файлов, чтобы я знал, заморожен он или нет
--stats: показать итоговое количество файлов и байтов, переданных в конце
--timeout=60: убить его после 60 секунд, если он застрянет,
--excludeпропустите файлы / каталоги из синхронизации, в этом случае я исключаю каталог с именем «Загрузки»
.: указывает на синхронизацию всего содержимого «Моих документов» (ожидаю, что указанную вещь исключить в строке выше)
my_remote_linux_computer: name моего удаленного компьютера с Linux (не настоящее имя;)
@128.95.155.200: IP-адреса моего удаленного компьютера Linux, с https://www.whatismyip.com/ (не мой фактический IP-адрес :)
/media/my_remote_linux_computer/LaCie/My\\ Documents: путь к каталогу на моем удаленном компьютере Linux, который я хочу получать файлы. Это внешний диск.

Обратите внимание, что пробел в «Моих документах» экранируется двумя обратными слешами, а полное имя и каталог удаленного места назначения заключены в двойные кавычки.

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

Бен
источник
Описание -cпараметра от bash man: Если опция -c присутствует, то команды читаются из строки. Если после строки есть аргументы, они присваиваются позиционным параметрам, начиная с $ 0.
Лукаш Стельмах
6

Если вам нужно бесплатное приложение, которое объединяет cygwin и rsync с красивым графическим интерфейсом, взгляните на Deltacopy :

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

  • Инкрементное резервное копирование - копирует часть файла, которая фактически изменена
  • Планировщик задач - Профили в DeltaCopy могут выполняться по расписанию
  • Уведомление по электронной почте - администраторы могут получать по электронной почте подтверждение как успешных, так и неудачных переводов
  • Восстановление одним щелчком - резервные копии файлов можно легко восстановить.
  • Среда, дружественная к Windows - не нужно вручную изменять файлы конфигурации или играть с параметрами командной строки.
Linker3000
источник
6

Одним из вариантов может быть установка rsync путем установки Cygwin на Windows. Там, вероятно, гораздо более прямой подход к этому.

Другим вариантом может быть rsync со стороны linux - вы можете настроить средство для удаленного компьютера для доступа к локальным файлам, а затем оттуда rsync (взгляните на монтирование общих ресурсов smb / cifs).

Я подозреваю, что есть еще лучшие варианты, но, возможно, это немного поможет.


Обновление на 2017 год

С подсистемой Linux, доступной в Windows 10, вы, вероятно, можете очень легко установить сервер ssh & rsync с этим и использовать rsync с Windows через это.

Джеймс Т Снелл
источник
5

MinGW имеет встроенный rsync, который, кажется, работает довольно хорошо. У него даже есть режим демона - хотя я не проверял это. Я рекомендую MinGW поверх Cygwin по нескольким причинам: MinGW - это меньшая установка, и она является родной для Windows.

AC Verbeck
источник