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,
--exclude
pomiń 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.
-c
parametru 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 $.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
źródło
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.
źródło
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.
źródło
Lifehacker ma świetny artykuł na temat rsync na PC .
Wygląda na to, że lifehacker również poleca Cygwina.
Jest tu również instrukcja: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
źródło