zwinge rsync, Dateien am Zielort zu überschreiben, auch wenn sie neuer sind


43

Ich habe ein von mir ausgeführtes rsync-Sicherungsskript, mit dem die Dateien auch dort wiederhergestellt werden, wo sie auf meine Anfrage hin stammen. Wenn die Dateien am Ziel jedoch neuer sind als die in der Sicherung, wenn ich versuche, sie wiederherzustellen, werden sie nicht ersetzt. Ich möchte die neueren Dateien unbedingt durch die in der Sicherung enthaltenen ersetzen, sehe jedoch keine Möglichkeit, dies mit rsync zu tun.

tldr: Gibt es eine Möglichkeit, rsync zum Überschreiben von Dateien am Zielort zu zwingen?

edit: Ich habe ausgeführt rsync -avhpWenn ich ein Backup wiederherstellen möchte, benutze ich den gleichen Befehl mit dem "to" und "from" getauscht. Daher wird versucht, Dateien vom Sicherungslaufwerk an den Ort auf meinem Computer zu kopieren, zu dem sie gehören.


14
rsyncüberschreibt immer Dateien am Zielort, es sei denn, Sie weisen es an, dies nicht zu tun (Option -u, --update). Überprüfen Sie Ihre Befehlszeilenargumente.
Scai

Können Sie Ihren tatsächlichen rsync-Befehl freigeben? Rsync überschreibt ältere Dateien mit neueren, so dass Sie Dateien wahrscheinlich nur anhand des Zeitstempels vergleichen und die Daten zwischen den beiden Computern leicht verfälscht sind.
SLM

Ich habe versucht touch, die Dateien, die ich ersetzen möchte, mit "älter" als mein Backup zu machen, aber es ersetzt immer noch nicht die vorhandenen in meinem Home-Ordner.
Jedipixel

Vielleicht funktioniert '-I --modify-window = 999999999' für Sie?
Jelle Foks

Antworten:


47

Das Handbuch sagt:

-I, --ignore-times   don't skip files that match size and time

Mit mehr Details:

-I, --ignore-times

Normalerweise überspringt rsync alle Dateien, die bereits dieselbe Größe und denselben Änderungszeitstempel haben. Diese Option deaktiviert dieses "Schnellprüfungs" -Verhalten, wodurch alle Dateien aktualisiert werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.