GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Synchronisieren Sie zwei lokale Ordner in Bash

Es gibt viel mehr Eigenschaften für rsync als in der vorherigen Antwort erwähnt. Sie sollten sich selbst darum kümmern:

man rsync

Aber für Ihr Problem würde ich vorschlagen:

rsync -a --delete X Y

Auf diese Weise löscht der Empfänger (Y) jede Datei, die er hat und die sich nicht in X befindet. Achten Sie jedoch darauf, dass Sie es richtig machen. Falsch verwendet, da root Ihr System leicht töten kann ... :)


Schauen Sie sich rsync(1) an. Es soll ziemlich genau das tun, was Sie wollen.

rsync -av X Y

Es unterstützt das Kopieren aus der Ferne über sein eigenes Protokoll oder ssh, kann aber auch lokal verwendet werden.

Abhängig von dem genauen Verhalten, das Sie möchten, können Sie auch den --update übergeben Möglichkeit. Dadurch wird rsync angewiesen, keine Dateien zu überschreiben, die bereits auf dem Ziel vorhanden und neuer sind als die in der Quelle.

Wenn Sie zusätzliche Dateien entfernen möchten (d. h. Dateien, die in Y, aber nicht in X existieren), können Sie den --delete hinzufügen Option.


Linux
  1. Wie führe ich Linux-Bash-Befehle in einem PERL-Skript aus?

  2. Änderungsdatum in Verzeichnissen/Ordnern mit Rsync beibehalten?

  3. Linux – Wie synchronisiert man zwei Ordner mit Kommandozeilen-Tools?

  4. Rsync Unbekannte Option von der Bash-Skriptausführung?

  5. Befehl nicht in Zsh, aber in Bash gefunden?

17 nützliche rsync (Remote Sync)-Befehlsbeispiele in Linux

Linux-Dateien und -Verzeichnisse mit rsync synchron halten

So synchronisieren Sie zwei Webserver unter Linux automatisch

RSync:Wie synchronisiere ich in beide Richtungen?

Bash-Eingabeaufforderung mit letztem Exit-Code

Linux-Ordner zusammenführen:rsync?