rsync-Spiegeldateien-von

rsync-Spiegeldateien-von

Der folgende Befehl kopiert Dateien rekursiv von $MIRROR_SOURCES relativ zu $MIRROR_SOURCE nach $MIRROR_DEST; das Löschflag funktioniert jedoch nicht.

rsync -var --files-from=$MIRROR_SOURCES --delete $MIRROR_SOURCE $MIRROR_DEST

Antwort1

Lesen--löschenin man rsyncsorgfältig, Hervorhebung von mir:

Dies weist rsync an, überflüssige Dateien auf der Empfängerseite zu löschen (solche, die sich nicht auf der Senderseite befinden), abernur für die Verzeichnisse, die synchronisiert werden. Sie müssen rsync angewiesen haben, das gesamte Verzeichnis (z. B. „dir“ oder „dir/“) zu senden, ohne ein Platzhalterzeichen für den Inhalt des Verzeichnisses (z. B. „dir/*“) zu verwenden, da das Platzhalterzeichen von der Shell erweitert wird und rsync somit eine Anforderung zum Übertragen einzelner Dateien erhält, nicht aber des übergeordneten Verzeichnisses der Dateien. Dateien, die von der Übertragung ausgeschlossen sind, werden auch nicht gelöscht, es sei denn, Sie verwenden die Option --delete-excludedoder markieren Sie die Regeln so, dass sie nur auf der Sendeseite übereinstimmen (siehe Einschluss-/Ausschlussmodifikatoren im Abschnitt FILTERREGELN).

Unterm Strich läuft es so: Dies geschieht nur für das, was Sie zur Synchronisierung angegeben haben, und es hängt davon ab, ob Sie ein Platzhalterzeichen angegeben haben oder nicht. Wenn Sie das nicht möchten, sondern es überall geschehen soll, können Sie --delete-excludedauch das Flag angeben.

verwandte Informationen