Synchronizuję folder lokalny i zdalny. Zdarzyło się, że straciłem jeden plik głupim poleceniem.
Jestem przyzwyczajony do unisonowania i sposobu, w jaki potwierdzasz („idź?”) Przed wykonaniem faktycznego transferu plików.
Czy jest taka opcja w rsync? (brak unison po stronie serwera)
Dzięki!
Możesz użyć opcji -n z rsync, aby wykonać próbę na sucho. rsync powie ci, jakie operacje wykonałby bez ich wykonania. Jeśli jesteś zadowolony z wyników, uruchom ponownie bez opcji -n.
źródło
Możesz zrobić rsync do tworzenia kopii zapasowych plików podczas zastępowania, używając opcji --backup,
po uruchomieniu rsync możesz skanować katalog kopii zapasowej w poszukiwaniu plików i pytać jeden po drugim, czy trzeba go przywrócić.
źródło
Niestety, podczas pisania w Rsync nie ma wbudowanej metody.
Rozwiązanie Mike Fitzpatrick będzie działać dobrze, jednak jeśli masz bardzo duże drzewo katalogów, możesz chcieć zrobić coś, co nie spowoduje, że rsync przejdzie ponownie przez wszystkie pliki
EDYCJA: Jest też błąd, w którym nie usuwa pliku docelowego ... im więcej patrzę na to, to rozwiązanie jest zepsute ... Zostawiam to, ponieważ może to działać w twoim przypadku, a także, jeśli ktoś chce naprawić to. Ponadto ktoś powinien przesłać formalne żądanie funkcji na https://bugzilla.samba.org/enter_bug.cgi?product=rsync
Napisałem ten skrypt:
Spróbuj wkleić skrypt do pliku o nazwie
rsync-confirm.bash
Następnie
chmod +x rsync-confirm.bash
Następnie
./rsync-confirm.bash -rvh /etc/ /tmp/etc/
Ten skrypt może być trochę wadliwy. Zauważyłem, że nie podoba mu się to, jeśli nie masz ukośnika w katalogu źródłowym ...
źródło