Як використовувати rsync з комп'ютера Windows на віддалений сервер Linux?


23

Як використовувати rsyncкоманду з локальної машини Windows 7 на віддалений сервер Linux?

Яке програмне забезпечення потрібно на машині Windows 7 для використання rsync?

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

Це призначено для налаштування веб-сервера на віддаленій машині та редагування на моїй локальній машині та підтримки синхронізації файлів.

Я не хочу двостороннього доступу між машинами, я збираюся лише редагувати файли на своїй локальній машині та постійно оновлювати їх на віддаленій машині.

ОНОВЛЕННЯ:

Я встановив cygwin на своїй машині Windows 7 та встановив пакет rsync . Чи може хтось надати кроки для віддаленого налаштування з'єднання з машини Windows 7 до сервера Linux?

Скажіть, я хочу, щоб C:\wwwна моїй машині Windows була папка, викликана і постійно оновлювалася \var\wwwна віддаленій машині, як це зробити? Це не резервне копіювання, воно оновлює файли, які я редагую на своєму локальному комп'ютері.

Відповіді:


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-readada, це загальні варіанти (докладніше: 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. Коли він завершиться, я отримую деякий підсумок, і мені запропоновано натиснути будь-яку клавішу, щоб закрити.


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

6

Якщо ви хочете отримати безкоштовний додаток, який поєднує cygwin та rsync з приємним графічним інтерфейсом, погляньте на Deltacopy :

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

  • Інкрементальна резервна копія - копіює фактично модифіковану частину файлу
  • Планувальник завдань - Профілі в DeltaCopy можуть працювати за графіком
  • Повідомлення електронною поштою - Адміністратори можуть отримувати підтвердження електронною поштою про успішні та невдалі передачі
  • Відновлення одним клацанням - резервні файли можна легко відновити.
  • Добре середовище для Windows - Не потрібно вручну змінювати конфігураційні файли або грати з параметрами командного рядка.

6

Одним із варіантів може бути встановлення rsync, встановивши cygwin на Windows. Для цього, мабуть, є набагато більш прямий підхід.

Іншим варіантом може бути rsync з боку linux - ви можете встановити засоби для віддаленої машини для доступу до локальних файлів, а потім rsync звідти (подивіться на монтаж smb / cifs акцій).

Я підозрюю, що все ж є кращі варіанти, але, можливо, це допоможе трохи.


Оновлення за 2017 рік

З підсистемою Linux, доступною в Windows 10, ви можете, можливо, дуже легко встановити сервер ssh & rsync за допомогою цього і використовувати rsync з Windows через це.


5

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.