Standardmäßig vergleicht rsync nur Dateimetadaten.
rsync -n -a -i --delete source/ target/
Erläuterung:
-n
nicht kopieren oder löschen <- DAS IST WICHTIG !! 1
-a
Vergleichen Sie alle Metadaten der Datei wie Zeitstempel und Attribute
-i
Eine Informationszeile pro Datei drucken
--delete
Melden Sie auch Dateien, die sich nicht in der Quelle befinden
Hinweis: Es ist wichtig, die Verzeichnisnamen mit einem Schrägstrich zu versehen. das ist eine rsync sache.
Wenn Sie auch Zeilen für identische Dateien anzeigen möchten, geben Sie diese -i
zweimal ein
rsync -n -a -ii --delete source/ target/
Beispielausgabe:
*deleting removedfile (file in target but not in source)
.d..t...... ./ (directory with different timestamp)
>f.st...... modifiedfile (file with different size and timestamp)
>f+++++++++ newfile (file in source but not in target)
.f samefile (file that has same metadata. only with -ii)
Denken Sie daran, dass rsync nur Metadaten vergleicht. Das heißt, wenn sich der Dateiinhalt geändert hat, die Metadaten jedoch gleich geblieben sind, meldet rsync, dass die Datei identisch ist. Dies ist ein unwahrscheinliches Szenario. Vertrauen Sie also entweder darauf, dass bei gleichen Metadaten die Daten identisch sind, oder vergleichen Sie die Dateidaten nach und nach.
Bonus: Informationen zum Fortschritt finden Sie hier: Schätzen Sie die verbleibende Zeit oder Arbeit, um rsync zu beenden?
source/
undtarget/
sind auch beide sehr wichtig! (Ohne sie werden Quell- und Zielverzeichnisnamen zusammen mit den*deleting
, sondern nur die Dateien, die sich in der Quelle befinden. Die Schrägstriche können leicht versehentlich vergessen werden, und Sie erhalten eine plausible, aber falsche Ausgabe.Verwenden Sie die
-q
(--brief
) Option mitdiff -r
(diff -qr
). Von derinfo
Seite für GNUdiff
:Dies vergleicht nicht Zeile für Zeile, sondern die Datei als Ganzes, was den Prozessor erheblich beschleunigt (wonach Sie suchen).
quelle
Hier ist ein schnelles Python-Skript, mit dem überprüft wird, ob Dateinamen, Uhrzeiten und Dateigrößen identisch sind:
quelle
Wenn Sie nur wissen müssen, ob Dateien aus zwei Dateisystemzweigen unterschiedlich sind (ohne einen Blick in Dateien zu werfen), können Sie Folgendes tun:
HTH
quelle
Basierend auf Chris Downs Drehbuch ist dieses Drehbuch etwas "visueller". Wenn Sie es mit zwei Argumenten
folder1
undfolder2
aufrufen, durchsucht es den ersten Ordner und durchsucht für jede Datei eine entsprechende Datei im zweiten Ordner. Wenn es gefunden wird, wird der relative Pfad in Grün gedruckt, wenn sie eine andere Änderungszeit oder -größe haben, wird es in Gelb gedruckt, und wenn es nicht gefunden wird, wird es in Rot gedruckt.Beachten Sie, dass dies nicht ausreicht, um zu entscheiden, ob die beiden Ordner identisch sind. Sie müssen es in beide Richtungen ausführen, um sicherzustellen, dass die beiden Ordner identisch sind. In der Praxis ist Chris 'Skript besser, wenn Sie nur wissen möchten, ob die Ordner identisch sind. Wenn Sie wissen möchten, was in einem Ordner fehlt oder was sich von einem Ordner zum anderen unterscheidet , werden Sie von meinem Skript darüber informiert .
HINWEIS: Sie müssen termcolor installiert haben
pip install termcolor
.quelle
Wenn Sie nur eine Struktur und einige grundlegende Informationen zu Dateien vergleichen möchten, können Sie Folgendes versuchen:
Ich habe es nicht getestet, daher sind Änderungen willkommen :)
quelle
<()
seine eigene Umgebung hat. Bearbeitet