Co dokładnie - wykluczone usunie rsync?

32

Używam rsync z wielką przyjemnością do tworzenia kopii zapasowych moich serwerów, chociaż mam pytanie dotyczące --delete-excludedparametru.

/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded     --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01

Od man rsync:

 --delete-excluded       also delete excluded files from dest dirs

Dla mnie, non English rodzimy, oznacza to, że rsync usunie wykluczone katalogi od rzeczywistego katalogu docelowego na zdalnym serwerze, więc jeśli mam /home/backupi /home/settingsw moich folderach wykluczają te foldery faktycznie zostać usunięte z serwera zdalnego ,.

Z kilku innych zasobów wydaje się, że usunie pliki z lokalnego folderu kopii zapasowej, aby zaoszczędzić miejsce. Na przykład możesz utworzyć małe kopie zapasowe na samym serwerze i wykluczyć te dane, aby nie marnować miejsca do przechowywania.

Jest dla mnie bardzo ważne, że rsync wykona swoją pracę tylko w jedną stronę, ponieważ ludzie mówią, że to ma działać, nie chcę ryzykować mając oprogramowania, które usuwa pliki / katalogi na zdalnym serwerze.

ujjain
źródło

Odpowiedzi:

37

Twoja interpretacja jest poprawna. Jeśli wykluczono przesyłanie plików lub katalogów, opcja --delete-wykluczy je ze strony docelowej (nie musi to być „serwer zdalny”, można użyć rsyncdo kopiowania z serwera na komputer lokalny), jeśli znajduje je tam. Na przykład, jeśli używasz --exclude=*.o --delete-excluded, to jeśli rsync znajdzie jakieś pliki z rozszerzeniem .o po stronie docelowej, usunie je bez względu na to, czy istnieją w katalogu źródłowym, czy nie.

DerfK
źródło
1
Czyli usunie katalogi / pliki z /.snapshot/hourly.0/server01, a nie ze zdalnego serwera?
ujjain
3
@chronoz Jeśli kopiujesz ze zdalnego serwera na komputer lokalny, miejscem docelowym jest komputer lokalny. Jeśli kopiujesz z komputera lokalnego na serwer zdalny, miejscem docelowym jest serwer zdalny. Cel jest tutaj ważny. Jeśli miejscem docelowym jest serwer zdalny, usunie pliki z serwera zdalnego.
DerfK
Potwierdzenie tutaj: comentum.com/rsync.html
SDsolar
1
Niedawno odkryłem, że „--delete-wykluczone” jest całkowicie równoważne z „--delete - wykluczone”. W podanym powyżej przykładzie odpowiedzi zdalne pliki, które nie są obecne po stronie źródłowej, również zostaną usunięte.
Wayne