Dateien auf Server und Client vergleichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateien auf Server und Client vergleichen

    Hallo zusammen,

    ich möchte einen Vergleich von Dateien realisieren, weiß aber nicht genau, wie ich die Sache lösen kann. Mir geht es momentan nicht um die Umsetzung in einer bestimmten Programmiersprache, sondern um den Vorgang an sich.

    Folgendes Szenario:
    Ich habe mehrere Dateien auf einem Server und lokal auf einem Client liegen und muss herausfinden, ob die Dateien Auf dem Server und Client identisch sind. Der Name der Dateien spielt keine Rolle - nur der Inhalt soll verglichen werden. Aufgrund der Dateigröße ist es nicht möglich, die Dateien vom Client auf den Server hochzuladen und dort zu vergleichen (oder die umgekehrte Richtung).

    Meine Idee ist also, nur Teile der Dateien, wie den Header, Prüfsumme etc. zu vergleichen. Weiter dachte ich an einen Byte-für-Byte-Vergleich von mehr oder weniger zufällig gewählten Ausschnitten der Dateien. Die zu Transferierende Datenmenge soll so gering wie möglich bleiben.

    Nehmen wir an, es werden 2 Bitmap-Dateien verglichen, die Dateigröße ist 100 MB und innerhalb der Bilder sind nur wenige Pixel unterschiedlich. Oder eine Textdatei mit einer Million Wörtern und ein einziges Wort unterscheidet sich. So etwas darf natürlich nicht als Datei mit gleichem Inhalt erkannt werden.

    Meine Frage ist nun, was muss ich alles vergleichen, um ein sicheres Ergebnis zu bekommen?

    Danke schon mal für alle Ideen und Anregungen

  • #2
    Hi,

    spontan würde ich mach nen Prüfsummenvergleich machen. Damit solltest du die Unterschiede abfangen können.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Hallo,

      ich würde das über Prüfsummen lösen. Zuerst würde ich die Dateigrößen vergleichen, bei Gleichheit würde ich die MD5-Checksum beider Dateien vergleichen. Wenn die gleich ist, würde ich beide Dateien halbieren und die MD5-Checksums beider Hälften vergleichen, um eine (ohnehin unwahrscheinliche) Kollision auszuschließen. Wenn diese 3 Checksum-Paare jeweils gleich sind, kannst du davon ausgehen, dass der Inhalt beider Dateien Bit für Bit übereinstimmt. Die Wahrscheinlichkeit, in diesem Falle noch daneben zu liegen, beträgt ca. 2.5e-116.

      Gruß,

      Amica
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        rsync --dry-run ...?

        Kommentar


        • #5
          rsync wird wohl nichts werden zwischen Client und Server
          it's not a bug,
          it's a feature!

          Kommentar


          • #6
            Warum nicht?

            Kommentar

            Lädt...
            X