Dateivergleich FTP Server - Client
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Dateivergleich FTP Server - Client
Hallo,
leider schreibe ich schon wieder einen Beitrag.
Ich hab da mal ne Frage, wenn ich eine Datei von einem Server auf einen Client oder umgekehrt kopiere, dann wird auf dem jeweiligen Empfänger immer dass aktuelle Systemdatum geschrieben, dass heißt, dass das Datum der Originaldatei nicht mit dem Datum des Empfängers übereinstimmt.
Das jeweilige Datum kann ich natürlich ändern, welches ich auch getestet habe.
Nun zu meinen Fragen.
Um eine sichere Prüfung zu machen, ob eine Datei identisch zwischen dem Client und den Server ist, welche Möglichkeiten habe ich da?
1. Size?
2. Datum (Natürlich nur, wenn ich dieses vorher auf dass selbe Datum angepaßt habe beim kopieren?
Gibt es sonst noch eine sichere Möglichkeit?
Ziel ist es, die Traffic zu minimieren, und dadurch die Geschwindigkeit beim Abgleich zu erhöhen, so dass ich nur die Dateien vergleiche, die tatsächlich unterschiedlich sind.
PS: Ich persönlich halte es nicht für tragisch, wenn ich das Datum beim kopieren anpasse, da dann die kopierte Datei den Datumsstatus hat, wie die Originaldatei.
Mit freundlichem Gruß
Ralph
leider schreibe ich schon wieder einen Beitrag.
Ich hab da mal ne Frage, wenn ich eine Datei von einem Server auf einen Client oder umgekehrt kopiere, dann wird auf dem jeweiligen Empfänger immer dass aktuelle Systemdatum geschrieben, dass heißt, dass das Datum der Originaldatei nicht mit dem Datum des Empfängers übereinstimmt.
Das jeweilige Datum kann ich natürlich ändern, welches ich auch getestet habe.
Nun zu meinen Fragen.
Um eine sichere Prüfung zu machen, ob eine Datei identisch zwischen dem Client und den Server ist, welche Möglichkeiten habe ich da?
1. Size?
2. Datum (Natürlich nur, wenn ich dieses vorher auf dass selbe Datum angepaßt habe beim kopieren?
Gibt es sonst noch eine sichere Möglichkeit?
Ziel ist es, die Traffic zu minimieren, und dadurch die Geschwindigkeit beim Abgleich zu erhöhen, so dass ich nur die Dateien vergleiche, die tatsächlich unterschiedlich sind.
PS: Ich persönlich halte es nicht für tragisch, wenn ich das Datum beim kopieren anpasse, da dann die kopierte Datei den Datumsstatus hat, wie die Originaldatei.
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Dateivergleich FTP Server - Client
Ein Textfile mit den md5 Prüfsummen anlegen und vor dem Kopiervorgang vergleichen?
http://www.freepascal.org/docs-html/pac ... dex-3.html
http://www.freepascal.org/docs-html/pac ... dex-3.html
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Dateivergleich FTP Server - Client
Es tut mir leid,
ich stehe ein wenig auf dem Schlauch.
Prüfsummen von den Informationen, die zu Dateien da sind anlegen, ohne diese zu öffnen (nur FTP Zugang möglich), welche da währen Datum, Größe, Attribute, Besitzer.
Ich möchte 1 mal am Tag auf ca. 100 IP Adressen insgesamt ca 35.000 Dateien in ca 3.000 Verzeichnissen durchsuchen, und Unterschiede feststellen sowie neue oder gelöschte Dateien finden und die Unterschiede in den Dateien anzeigen.
Wenn ich jede Datei downloade um die zu vergleichen, dann benötige ich für den Download alleine ca 15 Stunden
Ich möchte natürlich im Zweifelsfall also evtl unterschiedlich in jedemfall die entsprechende Datei downloaden temporär runterlaaden und vergleichen.
Mit freundlichem Gruß
Ralph
ich stehe ein wenig auf dem Schlauch.
Prüfsummen von den Informationen, die zu Dateien da sind anlegen, ohne diese zu öffnen (nur FTP Zugang möglich), welche da währen Datum, Größe, Attribute, Besitzer.
Ich möchte 1 mal am Tag auf ca. 100 IP Adressen insgesamt ca 35.000 Dateien in ca 3.000 Verzeichnissen durchsuchen, und Unterschiede feststellen sowie neue oder gelöschte Dateien finden und die Unterschiede in den Dateien anzeigen.
Wenn ich jede Datei downloade um die zu vergleichen, dann benötige ich für den Download alleine ca 15 Stunden
Ich möchte natürlich im Zweifelsfall also evtl unterschiedlich in jedemfall die entsprechende Datei downloaden temporär runterlaaden und vergleichen.
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Dateivergleich FTP Server - Client
Mach halt einen Eigenen Server, der dir auf Anfrage die MD5 gibt.
mfg _X_
mfg _X_
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Dateivergleich FTP Server - Client
Aber die MD5 von was?
der kompletten Datei?
oder Name, Datum, Attribute, Besitzer?
Die Anfragen, die ich an die unterschiedlichen Server stellen kann sind leider nur und ausschließlich FTP (die Befehlsvielfalt ist hier sehr begrenzt).
Mit freundlichem Gruß
Ralph
der kompletten Datei?
oder Name, Datum, Attribute, Besitzer?
Die Anfragen, die ich an die unterschiedlichen Server stellen kann sind leider nur und ausschließlich FTP (die Befehlsvielfalt ist hier sehr begrenzt).
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Dateivergleich FTP Server - Client
Die MD5 von der Datei.
Das geht mit dem FTP-Befehl "SITE MD5".
Wie da genau der Syntax ist weiß ich nicht, musst du Googeln.
mfg _X_
Das geht mit dem FTP-Befehl "SITE MD5".
Wie da genau der Syntax ist weiß ich nicht, musst du Googeln.
mfg _X_
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Dateivergleich FTP Server - Client
Hab ich getan, bin jedoch nicht wirklich fündig geworden.
Mein Testserver unterstützt leider kein SITE MD5, ich werde jeoch morgen an eine Maschine gehen, und mal testen, was die Maschine unterstützt.
Befehl: SITE help
Antwort: 214-The following SITE commands are recognized (* =>'s unimplemented)
Antwort: The following SITE extensions are recognized:
Antwort: RATIO -- show all ratios in effect
Antwort: HELP
Antwort: CHGRP
Antwort: CHMOD
Folgende SITE Befehle habe ich beim Googeln gefunden
Aber noch einmal, mir geht es nur darum, einen schnellen Vergeich zu haben, ob die Dateien auf dem Server gleich sind wie die Dateien auf dem Client, wenn ich Softwaretechnisch denke, dass da Unterschiede sein könnten, dann werde ich einen Vergleich durchführen und auch tiefer hinein steigen müssen.
Ich möche das Server System und auch die Traffic dabei nicht unnötig belasten.
Wobei dass mit dem SITE MD5 schon seinen Reiz hat, da dieses auf dem Server laufen würde und zum Mindest keine Traffic verursachen würde.
Danke für Deinen Denkanstoß
Mit freundlichem Gruß
Ralph
Mein Testserver unterstützt leider kein SITE MD5, ich werde jeoch morgen an eine Maschine gehen, und mal testen, was die Maschine unterstützt.
Befehl: SITE help
Antwort: 214-The following SITE commands are recognized (* =>'s unimplemented)
Antwort: The following SITE extensions are recognized:
Antwort: RATIO -- show all ratios in effect
Antwort: HELP
Antwort: CHGRP
Antwort: CHMOD
Folgende SITE Befehle habe ich beim Googeln gefunden
- setcos, chgid, chgrp, chmod, chown (valid only for "root" account), chuid, stage, wait, symlink
Aber noch einmal, mir geht es nur darum, einen schnellen Vergeich zu haben, ob die Dateien auf dem Server gleich sind wie die Dateien auf dem Client, wenn ich Softwaretechnisch denke, dass da Unterschiede sein könnten, dann werde ich einen Vergleich durchführen und auch tiefer hinein steigen müssen.
Ich möche das Server System und auch die Traffic dabei nicht unnötig belasten.
Wobei dass mit dem SITE MD5 schon seinen Reiz hat, da dieses auf dem Server laufen würde und zum Mindest keine Traffic verursachen würde.
Danke für Deinen Denkanstoß
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Dateivergleich FTP Server - Client
_X_ hat geschrieben:Mach halt einen Eigenen Server, der dir auf Anfrage die MD5 gibt.mfg _X_
Wir haben genau so ein Programm zum FTP-Upload gemacht (läuft in Windows und Linux).
- Man kann "Projekte" anlegen die jeweils ein FTP-Directory, ein lokales Directory und diverse Optionen definieren.
- ein "compare" Knopf vergleicht die FTP und die lokalen Dateien
- ein "upload"-Knopf überschreibt die nicht identischen Dateien uf dem FTP-Server.
- Windows und Linux verwenden sie gleiche Datei, die die Projekte definiert (Umwandlung der "/" in "\", andere Root Definition etc.)
- ganz brauchbare grafische Oberfläche
- Parameter-gesteuerte "Automatik-Funktion zur Verwendung mit "cron" als Erweiterung geplant.
Der Dateivergleich ist reichlich kompliziert und verläuft in etwa so:
Es wird eine Datei "~~DIR~~" mit Datei-Spezifikationen angelegt (Größe, lokales Datum, md5). Dabei wird die MD5 von der lokalen Datei berechnet). Diese Datei spiegelt den Zustand der Dateien auf FTP wieder, wird also nur nach Upload geschrieben.
- Wenn eine Datei in FTP nicht existiert: Upload
- Wenn eine Datei in ~~DIR~~ und lokal dasselbe Datum und dieselbe Größe hat: kein Update
- Wenn eine Datei in ~~DIR~~ und lokal nicht dasselbe Datum und dieselbe Größe hat: MD5 von FTP berechnen und Update wenn unterschiedlich
- Wenn eine Datei lokal nicht existiert aber auf FTP: löschen
(da gibt es noch ein paar Fälle mehr...)
SITE MD5 kannten wir nicht und so machen wir den MD5 der FTP-Datei durch downloaden (das geht ja meist viel schneller als uploaden).
Kann jeder ernsthafte FTP-Server "SITE MD5" ?
Wir haben für die MD5-Berechnung LNET erweitert. Vielleciht wäre ja eine Erweiterung mit "SITE MD5" sinnvoll.
Gruß,
-Michael
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Dateivergleich FTP Server - Client
Leider nicht.mschnell hat geschrieben:Kann jeder ernsthafte FTP-Server "SITE MD5" ?
Ist euer Client Opensource?
mfg _X_
edit://
Die Info mit SITE MD5 habe ich von dort -> http://www.ftpgetter.com/de/ftp-automatic-upload-download.php
Könnte euch helfen.http://www.ftpgetter.com/de/ftp-automatic-upload-download.php hat geschrieben:Nach MD5-Hash (SITE MD5). Falls diese Option aktiviert ist, wird die MD5-Hash der Quell- und Zieldateien verglichen. Falls MD5-Hash nicht ubereinstimmt, wird die Aufgaben-Durchfuhrung fortgesetzt, ansonsten wird die nachste Aufgabe in dem Ablauf ausgefuhrt. Benutzerdefinierter MD5-Befehl. Ihr FTP-Server kann einen anderen Befehl, außer "SITE MD5", benutzen, um MD5-Hash abzufragen. Z.B., benutzt der FTP-Server der Borland-Gesellschaft (ftp.borland.com) den Befehl "SITE SHOHASH". Um zu bestimmen, welcher Befehl Ihr FTP-Server nutzt, nutzen Sie bitte den Befehl "SITE HELP" im FTP Explorer oder kontaktieren Sie Ihren Server-Administrator.
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Dateivergleich FTP Server - Client
Dass waren schon sehr gute Anregungen
Interresant finde ich, dass Ihr erst Datum und Größe vergleicht, und dann auf MD5 geht.
In meinem Fall sind die Dateien immer recht klein, so dass ich bei einem reinen Vergleich nicht viel Zeit verliere (wenn ich nicht jede Datei vergleiche) da ich eh ein Protokoll erstellen muß, wo die Unterschiede Liegen Zeile... Unterschied.
Auch werde ich eine Art Versionsverwaltung verwenden müssen, so dass jede Änderung eingeplegt werden muß.
Ich frage mich nur, wie habt Ihr das gelöst, dass bei einem Upload oder einem Download nicht das Systemdatum bei der neu geschriebenen Datei aktualisiert wird. In meinem Fall sind die Dateien alleine durch den Upload oder Download im Datum unterschiedlich.
Eine Anpassung des Datums habe ich dann immer mit
durchgeführt, damit Datum und Zeit vor und nach dem Downloade gleich ist.
PS: _X_ Die Seite, von der Du das mit dem SITE MD5 hast, habe ich auch gelesen, danke für den Hinweis
Mit freundlichem Gruß
Ralph
Interresant finde ich, dass Ihr erst Datum und Größe vergleicht, und dann auf MD5 geht.
In meinem Fall sind die Dateien immer recht klein, so dass ich bei einem reinen Vergleich nicht viel Zeit verliere (wenn ich nicht jede Datei vergleiche) da ich eh ein Protokoll erstellen muß, wo die Unterschiede Liegen Zeile... Unterschied.
Auch werde ich eine Art Versionsverwaltung verwenden müssen, so dass jede Änderung eingeplegt werden muß.
Ich frage mich nur, wie habt Ihr das gelöst, dass bei einem Upload oder einem Download nicht das Systemdatum bei der neu geschriebenen Datei aktualisiert wird. In meinem Fall sind die Dateien alleine durch den Upload oder Download im Datum unterschiedlich.
Eine Anpassung des Datums habe ich dann immer mit
Code: Alles auswählen
filesetdate('Ort\Datei',
DateTimeToFileDate(newDateTime));
durchgeführt, damit Datum und Zeit vor und nach dem Downloade gleich ist.
PS: _X_ Die Seite, von der Du das mit dem SITE MD5 hast, habe ich auch gelesen, danke für den Hinweis
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Dateivergleich FTP Server - Client
Zum synchronisieren von derart vielen Dateien würde ich ernsthaft rsync (oder notfalls unison) empfehlen. Alles andere ist quasi Selbstmord
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Dateivergleich FTP Server - Client
Da muss ich zustimmen. Ich verwende RSync
-
- Beiträge: 145
- Registriert: So 22. Mär 2009, 07:48
- OS, Lazarus, FPC: WIN 11 (momentan )
- CPU-Target: 64 und 32Bit
- Wohnort: Hessen
- Kontaktdaten:
Re: Dateivergleich FTP Server - Client
Hallo,
für mich privat nutze ich ncftpget, ein Programm, dass ich unter der Comandozeile durchaus fernsteuern kann.
Dieses verwende ich momentan um einen Server von einem Spiele-Clan mit mehreren Gig's zu synchronisieren, so dass alle immer den gleichen Optionsstand haben. Das funktioniert sehr gut. Aber darum geht es ja nicht.
1. Wenn ich die Logik stehen habe, dann kann das jedes andere Programm auch.
2. Zeigt mir keines dieser Tools an, wenn eine Datei unterschiedlich ist, an welcher Stelle das ist.
3. Wird die Abfrage bei unterschiedlichen Ständen entweder unterbrochen und nachgefragt, oder einfach synchronisiert.
Leider funktionieren so Sachen wie svn nicht via FTP, sonst könnte so etwas durchaus die richtige Alternative sein. Das bin ich auch schon am überlegen,
wenn Dateien unterschiedlich sind, dann darüber einen Div laufen lassen, um mir die Arbeit zu sparen einen guten Dateivergleich zu machen.
Mit freundlichem Gruß
Ralph
für mich privat nutze ich ncftpget, ein Programm, dass ich unter der Comandozeile durchaus fernsteuern kann.
Dieses verwende ich momentan um einen Server von einem Spiele-Clan mit mehreren Gig's zu synchronisieren, so dass alle immer den gleichen Optionsstand haben. Das funktioniert sehr gut. Aber darum geht es ja nicht.
1. Wenn ich die Logik stehen habe, dann kann das jedes andere Programm auch.
2. Zeigt mir keines dieser Tools an, wenn eine Datei unterschiedlich ist, an welcher Stelle das ist.
3. Wird die Abfrage bei unterschiedlichen Ständen entweder unterbrochen und nachgefragt, oder einfach synchronisiert.
Leider funktionieren so Sachen wie svn nicht via FTP, sonst könnte so etwas durchaus die richtige Alternative sein. Das bin ich auch schon am überlegen,
wenn Dateien unterschiedlich sind, dann darüber einen Div laufen lassen, um mir die Arbeit zu sparen einen guten Dateivergleich zu machen.
Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Dateivergleich FTP Server - Client
_X_ hat geschrieben:Ist euer Client Opensource?
Klar.
-Michael
Zuletzt geändert von mschnell am Fr 10. Apr 2009, 23:53, insgesamt 1-mal geändert.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Dateivergleich FTP Server - Client
Ralph59 hat geschrieben:Ich frage mich nur, wie habt Ihr das gelöst, dass bei einem Upload oder einem Download nicht das Systemdatum bei der neu geschriebenen Datei aktualisiert wird. In meinem Fall sind die Dateien alleine durch den Upload oder Download im Datum unterschiedlich.
Das File-Datum auf dem FTP server bestimmt der Server und nicht der client. Deshalb kann das Dateidatum dort nicht als kirterium herangezogen werden. Wir vergleichen nur das lokale File-Datum mit dem in der ~~DIR~~ gespeicherten Wert. Wir verwenden aber die Dateigröße auf FTP: wenn sie nicht übereinstimmt auf jeden Fall upload.
-Michael