Ich habe zwei Verzeichnisse - eines aus einer früheren Sicherung und eines aus der neuesten Sicherung. Wie vergleiche ich, welche Änderungen an Dateien im Verzeichnis von der neuesten Sicherung unter Linux vorgenommen wurden? Auch wie kann ich Änderungen in zum Beispiel Text- und PHP-Dateien anzeigen? Ich denke an etwas wie den Revisionsverlauf in Wikipedia, in dem Sie die alte Version auf einer Seite des Bildschirms und die neueste Version auf der anderen Seite sehen und Änderungen hervorgehoben werden. Wie erreiche ich so etwas?
edit: Wie vergleiche ich auch remote dir mit local?
sshfs
ein temporäres Ad-hoc-Netzwerkverzeichnis erstellen, anstatt NFS zu verwenden.Vorausgesetzt:
www1
, verglichen mit fernwww2
www1
zu remotewww2
www1
und Remotewww2
quelle
Sie möchten wirklich die Leistung von
rsync
zur Reduzierung des Bandbreitenverbrauchs mit der Leistung kombinierendiff
, Ihnen Flexibilität und Unterschiede zu bieten.So etwas in der Art:
Ich schätze, Sie könnten dies ein wenig optimieren, wenn Sie es oft
rsync
anstattcp
in der ersten Zeile verwenden würden - offensichtlich haben Sie in der letzten Zeile die volle Kraftdiff
, es zu formatieren, wie Sie möchten. Wahrscheinlich mit y im OPs-FallDer Nachteil dieses Ansatzes ist, dass Sie am Ende doppelt so viel lokalen Raum nutzen, aber bei weniger als 1 USD / Gig, wen interessiert das?
quelle
cp --reflink=auto --sparse=always
in Abhängigkeit von der zugrunde liegenden FS keinen Platz für die Kopie zu verwenden.Erledigen Sie die
diff old_dir new_dir > diff.txt
Nebeneinanderunterschiede auf demselben Server.Für entfernte Dateien:
Beispiel: ABC ist ein vorhandener Server und XYZ ist Ihr Remote-Server. Der Verzeichnisname lautet 123.
Schritt 1: Benennen Sie das vorhandene Verzeichnis 123 auf ABC Server in 123_ABC um.
Schritt 2: Erstellen Sie ein neues Verzeichnis auf dem Server ABC:
Schritt 3: Kopieren Sie alle Dateien aus dem Verzeichnis 123 auf dem XYZ-Server in das Verzeichnis 123_XYZ auf dem ABC-Server:
Dadurch werden alle Dateien aus dem Verzeichnis auf Ihrem XYZ-Server in Ihr ABC-Server / 123_XYZ-Verzeichnis kopiert.
Schritt: 4: Machen Sie den Unterschied zwischen beiden Verzeichnissen:
Gehen Sie nun zum ABC-Server und führen Sie einen Vergleich zwischen 123_ABC und 123_XYZ durch
Der obige Befehl speichert die Diff-Ergebnisse in der diff.txt im selben Pfad.
Sie können dann die Unterschiede vergleichen.
Vielen Dank,
Mehul
quelle
AIDE Advanced Intrusion Detection Environment (AIDE) ist eine Dateiintegritätsprüfung für UNIX-Betriebssysteme. Sein Zweck ist die Bereitstellung von Berichten zur Integrität von Daten in unterstützten Dateisystemen. Indem Sie AIDE mehrmals auf dem Zielhost ausführen, können Sie feststellen, welche Dateien geändert werden. Indem Sie AIDE mehrmals auf verschiedenen Hosts ausführen, können Sie feststellen, welche Dateien und Berechtigungen unterschiedlich sind. Verwenden Sie dann ein GUI-Diff-Tool für die gemeldeten "verschiedenen" Dateien.
Oder verwenden Sie ein GUI-Diff-Tool wie meld, guiffy, kdiff3, diff, vimdiff, gvimdiff, Emacs, Kompare, Diffuse, Easydiff, TkDiff oder xxdiff. Die meisten werden zusätzlich zu den Datei-Unterschieden auch Verzeichnis-Unterschiede machen. Sie müssen das Remote-Laufwerk wie bereits erwähnt mit NFS, SMBFS oder SSHFS mounten.
quelle
Oder Sie können zwei Dateien mit der ausgegebenen Dateiliste verwenden. Und dann vergleichen Sie diese beiden Dateien. Beispielsweise:
Laden Sie eine der Dateien herunter.
zu FILE.TXT
Verwenden Sie diff (
diff -y remote-files local-files > diff-files
), um sie nebeneinander zu vergleichen. Öffne die Diff-Dateien und überprüfe sie. Jede Zeile mit> bedeutet eine andere Datei.quelle