Überprüfen Sie, ob Dateien auf dem Remote-Server mit einer anderen Verzeichnisstruktur oder Organisation vorhanden sind

601
TGYK

Ich habe ein NAS-Projekt zum Ersetzen eines alternden freigegebenen externen Festplattenlaufwerks erstellt. Bevor ich das alte freigegebene Festplattenlaufwerk außer Betrieb setzen kann, möchte ich sicherstellen, dass ich alle wichtigen Daten auf den neuen NAS kopiert habe. Normalerweise wäre dies kein Problem, aber ich verwende den NAS seit dem Erstellen der neuen Freigabe und dem anfänglichen Kopieren von Daten.

Diese Verwendung umfasst das Hinzufügen neuer Dateien, die sich nicht auf der ursprünglich freigegebenen externen Festplatte befanden, die Struktur der Daten wird reorganisiert, um sie sauberer und ordnungsgemäß zu kennzeichnen oder zu speichern (neue Verzeichnisse, möglicherweise andere Dateinamen und Berechtigungen) und nicht benötigte Daten aus der ursprünglichen Kopie zu löschen.

Gibt es eine einfache Möglichkeit, zu überprüfen, ob Dateien aus der ursprünglichen Freigabe auf der neuen Freigabe vorhanden sind (auch mit unterschiedlichen Verzeichnissen, Namen oder Berechtigungen), und eine Liste der Dateien zu erstellen, die nicht vorhanden sind, während Dateien, die auf der neuen Freigabe neu sind, ignoriert werden ?

Ich denke, dass dies kein Einzelbefehl sein wird, und ich muss ein Skript schreiben, um rekursiv die Prüfsummen von Dateien zu vergleichen. Ich wollte es in die Community werfen, bevor ich mich darauf konzentriere, da ich wahrscheinlich nicht der erste bin, der so etwas oder ähnliches begegnet.

Beachten Sie auch, dass beide Systeme zwar nicht dasselbe Betriebssystem ausführen, jedoch beide BASH-Skripts ausführen können, wobei die meisten Standardbefehle gemeinsam verwendet werden, oder sogar Python, wenn dies Ihren Vorstellungen entspricht. (OS X 11.10 mit Macports und Homebrew vs Armbian)

1

1 Antwort auf die Frage

0
TGYK

So. Nachdem ich versucht hatte, ein Skript zu schreiben, das mit abwechslungsreichem Erfolg funktionierte (Weird-Dateinamen lösten es aus und es war sehr schwierig, sie in BASH zu desinfizieren), fand ich schließlich ein Programm namens Checksum Compare, das genau das tat, was ich wollte .