У меня есть 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.Если вам нужно бесплатное приложение, которое объединяет cygwin и rsync с красивым графическим интерфейсом, взгляните на Deltacopy :
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
источник
Одним из вариантов может быть установка rsync путем установки Cygwin на Windows. Там, вероятно, гораздо более прямой подход к этому.
Другим вариантом может быть rsync со стороны linux - вы можете настроить средство для удаленного компьютера для доступа к локальным файлам, а затем оттуда rsync (взгляните на монтирование общих ресурсов smb / cifs).
Я подозреваю, что есть еще лучшие варианты, но, возможно, это немного поможет.
Обновление на 2017 год
С подсистемой Linux, доступной в Windows 10, вы, вероятно, можете очень легко установить сервер ssh & rsync с этим и использовать rsync с Windows через это.
источник
MinGW имеет встроенный rsync, который, кажется, работает довольно хорошо. У него даже есть режим демона - хотя я не проверял это. Я рекомендую MinGW поверх Cygwin по нескольким причинам: MinGW - это меньшая установка, и она является родной для Windows.
источник
У Lifehacker есть отличная статья о rsync для ПК .
Похоже, lifehacker рекомендует и Cygwin.
Здесь также есть инструкция: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
источник