20

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

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

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

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

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

ОБНОВИТЬ:

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

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

5 ответов5

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 : имя моего удаленного компьютера с Linux (не фактическое имя;)
@128.95.155.200 : IP-адреса моего удаленного компьютера с Linux, с https://www.whatismyip.com/ (не мой фактический IP-адрес :)
/media/my_remote_linux_computer/LaCie/My\\ Documents : путь к каталогу на моем удаленном компьютере linux, на который я хочу получать файлы. Это внешний диск.

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

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

6

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

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

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


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

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

5

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

4

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

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

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

У Lifehacker есть отличная статья о rsync для ПК.

Похоже, lifehacker рекомендует и Cygwin.

Здесь также есть инструкция: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .