
Ich habe einen großen Ordner „X“ in meinem Home-Verzeichnis und eine veraltete Kopie davon auf einem Flash-Laufwerk – Y. Was ist das Analogon zu rm Y; cp X Y
, jedoch ohne bereits vorhandene Dateien zu überschreiben?
Antwort1
Es gibt noch viele weitere Eigenschaften zursyncals in der vorherigen Antwort erwähnt. Sie sollten sich diese selbst ansehen:
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) alle Dateien, die sich nicht in X befinden. Achten Sie jedoch darauf, dass Sie es richtig machen. Falsche Verwendung als Root kann Ihr System leicht zerstören ... :)
Antwort2
Schauen Sie sich anrsync(1). Es soll so ziemlich genau das tun, was Sie wollen.
rsync -av X Y
Es unterstützt Remote-Kopieren über ein eigenes Protokoll oder SSH, kann aber auch lokal verwendet werden.
Abhängig vom gewünschten Verhalten möchten Sie diese --update
Option möglicherweise auch übergeben. Dadurch wird rsync angewiesen, keine Dateien zu überschreiben, die bereits auf dem Ziel vorhanden und neuer als die in der Quelle sind.
Wenn Sie zusätzliche Dateien entfernen möchten (d. h. Dateien, die in Y, aber nicht in X vorhanden sind), können Sie die --delete
Option hinzufügen.
Antwort3
Sie könnten verwendenFitus/Zaloha.sh. Es berechnet zunächst die notwendigen Synchronisationsaktionen, präsentiert sie Ihnen, fragt nach einer Bestätigung und führt sie dann aus:
$ Zaloha.sh --sourceDir="X" --backupDir="Y"
Antwort4
Ich denke, dass einige der Funktionen, die Sie in der Option -u (Update) suchen, tatsächlich in dieser Option vorhanden sind:
"--ignore-existing" - Überspringen der Aktualisierung von Dateien, die auf dem Empfänger vorhanden sind