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 ( ABORT
zum 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.