Czy rsync usuwa pliki docelowe, które zostały usunięte ze strony wysyłającej?

14

Czy rsync usuwa pliki z miejsca docelowego, jeśli zostały usunięte ze źródła?

Powiedzmy na przykład, że w źródle / home / me mam trzy pliki:

a.txt
b.txt
c.txt

Teraz uruchom polecenie rsync -v /home/me/ [email protected]:/home/backupi kopiuje pliki a.txt, b.txta c.txtdo /home/backup.

Zawartość /home/backupjest teraz

a.txt
b.txt
c.txt

Gdybym miał usunąć a.txtz /home/me, to a.txtzostaną usunięte z /home/backupNastępnym razem biegnę rsync, to istnieje opcja trzeba określić, czy jest to po prostu całkowicie niemożliwe?

Jeśli są jakieś alternatywy dla rsync, które to robią, są również mile widziane.

Uwaga dodatkowa: Przeczytałem to i to odnoszące się do tego tematu, ale nie mogłem dokładnie zrozumieć ani zobaczyć, jak to było dokładnie związane z pytaniem.

być może może być
źródło

Odpowiedzi:

31

Tylko jeśli… wybierzesz jedną z opcji usuwania. Zobacz man rsyncwięcej informacji, ale oto fragment:

--delete                delete extraneous files from dest dirs
--delete-before         receiver deletes before xfer, not during
--delete-during         receiver deletes during the transfer
--delete-delay          find deletions during, delete after
--delete-after          receiver deletes after transfer, not during
--delete-excluded       also delete excluded files from dest dirs

Bardziej szczegółowe informacje o tych opcjach znajdują się w dalszej części manstrony.

Krogulec
źródło
Tylko dla potwierdzenia, oznacza to, że jeśli wybiorę --delete, rsync usunie pliki z miejsca docelowego, które zostały usunięte ze źródła, czyniąc źródło i miejsce docelowe dokładnym lustrem?
maybeharry
3
Tak, ale po prostu przeczytaj stronę podręcznika! Istnieją zastrzeżenia i podpowiedzi, w tym korzystanie z niego --dry-run.
Sparhawk,