Anforderungen

Grafische Aufschlüsselung

graph TD startLoop[Wird für jede Datei ausgeführt] doesExist{Existiert die Datei im Ziel?} isNewer{Datei im Ziel aktueller?} willBeCopied[Datei wird kopiert] willNotBeCopied[Datei wird nicht kopiert] startLoop --> doesExist doesExist -- Datei existiert --> isNewer doesExist -- Datei existiert nicht --> willBeCopied isNewer -- Datei ist neuer --> willBeCopied isNewer -- Datei ist älter oder gleich alt --> willNotBeCopied willBeCopied --> startLoop willNotBeCopied --> startLoop

Rsync-Switches ausführlicher erklärt

Das Problem mit ignore existing und update im selben Befehl: Wenn bereits existierende Dateien ignoriert werden, werden sie nicht mehr verglichen. Neuere Änderungen werden also nicht übernommen.

Der gesamte Befehl für die Simulation wäre also:

rsync -avhpu --dry-run source/ destination/

Der eigentliche Vorgang dann natürlich ohne --dry-run.