Antworten:
Es gibt noch viele weitere Eigenschaften rsync als die vorherige Antwort erwähnt. Sie sollten selbst nachschauen:
man rsync
Aber für dein Problem würde ich vorschlagen:
rsync -a --delete X Y
Auf diese Weise löscht der Empfänger (Y) alle Dateien, die sich nicht in X befinden. Stellen Sie sicher, dass Sie es richtig machen. Wird falsch verwendet, da root das System leicht töten kann ... :)
rsync -a --delete X/ Y. Dieser kleine Schrägstrich nach X hat dazu geführt, dass es so funktioniert, wie es für mich vorgesehen war, sodass es auch anderen helfen könnte. Hier erklärt: abbeyworkshop.com/howto/unix/nix_rsync/index.html
Schaut mal rein rsync (1) . Es soll so ziemlich genau das tun, was Sie wollen.
rsync -av X Y
Es unterstützt das Fernkopieren über sein eigenes Protokoll oder ssh, es kann jedoch auch lokal verwendet werden.
Abhängig von dem gewünschten Verhalten möchten Sie möglicherweise auch die --update Möglichkeit. Dadurch wird rsync angewiesen, keine Dateien zu überschreiben, die bereits auf dem Ziel vorhanden sind und neuer sind als die in der Quelle.
Wenn Sie zusätzliche Dateien entfernen möchten (d. H. Dateien, die in Y vorhanden sind, aber nicht in X), können Sie die --delete Möglichkeit.