Garantiert „226 Übertragung abgeschlossen“ die Konsistenz zwischen lokalen und Remote-Dateien bei der Verwendung von FTP?

Garantiert „226 Übertragung abgeschlossen“ die Konsistenz zwischen lokalen und Remote-Dateien bei der Verwendung von FTP?

Ich habe einige automatisierte Skripte, die unter anderem FTP-Uploads durchführen. Ich frage mich, welche Fehlerprüfung ich durchführen sollte, nachdem diese Uploads abgeschlossen sind.

Könnte beim Hochladen einer Datei etwas schiefgehen, wenn eine Meldung angezeigt wird, "226 Transfer complete"die zusätzliche Tests rechtfertigen würde, außer der Überprüfung auf diese Zeichenfolge im Protokoll, um zu prüfen, ob eine Datei erfolgreich hochgeladen wurde?

Antwort1

Nein, das ist nicht der Fall. 226 kann auch unter verschiedenen Bedingungen auftreten, unter denen dies nicht zutrifft ( ABORTzum Beispiel). SieheRFC 959.

Antwort2

MD5SUM oder SHA1SUM könnten die Lösung sein.

Das Problem ist dann, dass Sie entweder die Prüfsumme auf dem Server berechnen müssen, auf den Sie hochladen, oder die Datei vom Server herunterladen und vergleichen müssen. Das könnte aber auch bedeuten, dass sie nicht richtig heruntergeladen wurde...

Antwort3

Es hängt davon ab, was Sie mit Garantie meinen. 226 bedeutet, dass die Übertragung ohne erkannte Fehler abgeschlossen wurde. Sofern also kein unerkannter Fehler die Daten beschädigt oder der Server abstürzt, bevor er die Daten aus seinem Cache auf die Festplatte übertragen kann oder aus anderen Gründen, sind die Dateien identisch.

verwandte Informationen