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 . 'my_remote_linux_computer@128.95.170.200:/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 . my_remote_linux_computer@128.95.155.200:/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 $.