Jak używać rsync z komputera z systemem Windows do zdalnego serwera Linux?

22

Jak użyć rsyncpolecenia z lokalnego komputera z systemem Windows 7 do zdalnego serwera Linux?

Jakie oprogramowanie jest potrzebne do korzystania z komputera z systemem Windows 7 rsync?

Zdalny serwer Linux korzysta z Amazon AMI Linux Linux. Polecenie rsyncjest już włączone na komputerze i mogę edytować każdy potrzebny dostęp do komputera.

Ma to na celu skonfigurowanie serwera WWW na zdalnym komputerze i edycję na moim komputerze lokalnym oraz utrzymanie synchronizacji plików.

Nie chcę dwukierunkowego dostępu między komputerami, będę tylko edytować pliki na moim komputerze lokalnym i aktualizować je na komputerze zdalnym.

AKTUALIZACJA:

Zainstalowałem cygwin na moim komputerze z systemem Windows 7 i zainstalowałem pakiet rsync . Czy ktoś może zdalnie skonfigurować połączenie z komputera z systemem Windows 7 do serwera Linux?

Powiedz, że chcę mieć folder wywoływany C:\wwwna moim komputerze z systemem Windows i aktualizować go \var\wwwna moim komputerze zdalnym, jak to zrobić? Nie jest to kopia zapasowa sama w sobie, aktualizuje pliki, które edytuję na moim komputerze lokalnym.

paradd0x
źródło

Odpowiedzi:

9

Mam MinGW (znany również jako „Git Bash” ) na Windows 7 i plik wsadowy, który uruchamia rsync, aby wykonać kopię zapasową plików na dysku zewnętrznym na zdalnym komputerze z systemem Linux. Oto plik wsadowy ( 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 . '[email protected]:/media/my_remote_linux_computer/LaCie/My\ Documents'"

Oto trochę wyjaśnienia wiersz po wierszu:

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

To po prostu wysyła wiadomość przypominającą mi, co się dzieje.

cd ../

Spowoduje to zmianę katalogu o jeden poziom wyżej od miejsca, w którym znajduje się plik wsadowy (na „Moje dokumenty”). Plik wsadowy znajduje się na dysku zewnętrznym na moim komputerze z systemem Windows. Chcę zsynchronizować cały folder „Moje dokumenty” na tym dysku zewnętrznym z folderem o tej samej nazwie na dysku zewnętrznym na moim zdalnym komputerze z systemem Linux.

REM starting rsync...

Po prostu drukuje kolejną wiadomość.

bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . [email protected]:/media/my_remote_linux_computer/LaCie/My\\ Documents"

bash: uruchamia MinGW, który ma wbudowaną bibliotekę rsync
-c: nie jestem pewien, co to robi
rsync: biblioteka do synchronizacji plików, jest dostarczany z MinGW
-avzh: a-Archive, v-Verbose, z-Compress, h-Human-readable, są to wspólne opcje (więcej: http://linux.die.net/man/1/rsync )
-P: pokaż postęp dla dużych plików, więc wiem, czy jest zamrożony, czy nie
--stats: pokaż podsumowanie liczby plików i bajtów przesłanych na końcu
--timeout=60: zabij go po 60 sekund, jeśli utknie,
--excludepomiń pliki / katalogi z synchronizacji, w tym przypadku wykluczam katalog o nazwie „Pobrane”
.: wskazuje na zsynchronizowanie całej zawartości „Moich dokumentów” (oczekuj, że określona rzecz zostanie wykluczona w powyższym wierszu)
my_remote_linux_computer: nazwa mojego zdalnego komputera z systemem Linux (nie jest to rzeczywista nazwa;)
@128.95.155.200: adres IP mojego zdalnego komputera z linuksem, z https://www.whatismyip.com/ (nie mój rzeczywisty adres IP :)
/media/my_remote_linux_computer/LaCie/My\\ Documents: ścieżka do katalogu na moim zdalnym komputerze z linuksem, na który chcę otrzymywać pliki. To dysk zewnętrzny.

Zwróć uwagę, że spacja w „Moich dokumentach” jest poprzedzana dwoma odwrotnymi ukośnikami, a pełna nazwa i katalog zdalnego miejsca docelowego są otoczone podwójnymi cudzysłowami.

Kiedy zaczynam dwukrotnie kliknąć plik nietoperza, pojawia się monit o hasło do mojego zdalnego komputera z systemem Linux. Po zakończeniu otrzymuję podsumowanie i pojawia się monit o naciśnięcie dowolnego klawisza w celu zamknięcia.

Ben
źródło
Opis -cparametru od bash man: Jeśli obecna jest opcja -c, polecenia są odczytywane z łańcucha. Jeśli po ciągu znajdują się argumenty, są one przypisywane do parametrów pozycyjnych, zaczynając od 0 $.
Łukasz Stelmach,
6

Jeśli chcesz darmową aplikację, która łączy cygwin i rsync z ładnym interfejsem graficznym, spójrz na Deltacopy :

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

  • Przyrostowa kopia zapasowa - Kopiuje część faktycznie zmodyfikowanego pliku
  • Harmonogram zadań - Profile w DeltaCopy mogą być uruchamiane na podstawie harmonogramu
  • Powiadomienie e-mail - administratorzy mogą otrzymywać potwierdzenie e-mailem o udanych i nieudanych transferach
  • Przywracanie jednym kliknięciem - pliki z kopiami zapasowymi można łatwo przywrócić.
  • Środowisko przyjazne dla systemu Windows - nie trzeba ręcznie modyfikować plików konfiguracyjnych ani bawić się z opcjami wiersza poleceń.
Linker3000
źródło
6

Jedną z opcji może być instalacja rsync poprzez instalację cygwin w systemie Windows. Prawdopodobnie jest to znacznie bardziej bezpośrednie podejście.

Inną opcją może być rsync od strony linuxa - możesz ustawić sposób, w jaki zdalna maszyna będzie uzyskiwać dostęp do lokalnych plików, a następnie stamtąd rsync (zobacz montowanie udziałów smb / cifs).

Podejrzewam, że są jeszcze lepsze opcje, ale może to trochę pomoże.


Aktualizacja na 2017 rok

Dzięki podsystemowi Linux dostępnemu w systemie Windows 10 prawdopodobnie możesz bardzo łatwo zainstalować serwer ssh & rsync i dzięki temu używać rsync z Windows.

James T. Snell
źródło
5

MinGW ma wbudowany rsync, który wydaje się działać całkiem dobrze. Ma nawet tryb demona - chociaż tego nie testowałem. Polecam MinGW zamiast cygwin z kilku powodów: MinGW jest mniejszą instalacją i jest natywny dla Windows.

AC Verbeck
źródło