Utworzyłem kopię zapasową serwera linuksowego przy użyciu rsync z cygwin. Mam teraz idealną kopię serwera na moim laptopie z systemem Windows. Jeśli usunę lub zmodyfikuję plik na moim laptopie i uruchomię ponownie program rsync w programie cygwin, czy usunie / zaktualizuje ten sam plik na serwerze? Mam wrażenie, że jeśli usunę / zmodyfikuję na serwerze i uruchomię rsync na moim laptopie, usunie / zmodyfikuje lokalny plik na moim laptopie, ale czy działa to w odwrotnej kolejności?
25
unison
. To narzędzie do synchronizacji, które zapisuje stan pliku na obu kopiach, a tym samym umożliwia synchronizację dwukierunkową. Istnieje również pakiet cygwin.Odpowiedzi:
Rsync wykonuje synchronizację jednokierunkową, jednak to Ty decydujesz, w którą stronę ma się odbyć synchronizacja.
Składnia komendy Rsync jest następująca:
Pamiętaj, że określasz synchronizację od źródła do miejsca docelowego. Źródłem i celem może być dowolna ścieżka lokalna lub zdalna.
Na przykład, jeśli chcesz skopiować pliki z serwera na laptop, robisz:
Aby wykonać synchronizację w przeciwnym kierunku:
Tak więc, aby odpowiedzieć na twoje pytanie: zależy to od sposobu wykonania rsync.
Jeśli chcesz usunąć pliki w miejscu docelowym, musisz użyć
--delete
opcji. Ale bądź ostrożny, ponieważ jeśli popełnisz błąd przy określaniu źródła, usuniesz wszystko na miejscu docelowym. Bezpieczniej jest--delete
najpierw przetestować synchronizację bez opcji, a gdy będziesz zadowolony z jej działania, możesz dodać--delete
opcję.Jak sugeruje masegaloeh w komentarzach poniżej,
-n
lub--dry-run
opcja może być również użyta do przetestowaniarsync
zachowania polecenia.źródło
-n
lub--dry-run
, abyś wiedział, który plik zostanie usunięty i zmodyfikowanyNarzędzie otoki napisane w python3 o nazwie,
bsync
które otaczafind
irsync
komendę upraszcza zadanie. Repozytorium Github: https://github.com/dooblem/bsyncNie bój się, gdy jest na github (tj. W sposób, który uważasz, że musisz być programistą, aby korzystać z tego narzędzia).
źródło
rozważ użycie opcji --delete-after, a nie --delete, zapewni to, że Twój odbiorca usunie pliki po przesłaniu, a nie wcześniej.
źródło
rsync
niczego usunąć. Sam usuwa rzeczy. To powiedziawszy, pomocna wskazówka dla rsync'ingu w ogóle. Dzięki.