Ich habe ein Problem auf meinem Server: Wenn das Ordnerkontingent erreicht ist und jemand versucht, eine Datei hochzuladen, erhält er keinen Fehlercode und hinterlegt eine 0-Byte-Datei. Ich möchte also wissen, ob es eine Lösung gibt (z. B. Integritätsprüfung), um zu überprüfen, ob die Datei gut übertragen wurde.
7
Es gibt spezielle SFTP-Protokollerweiterungen zum Berechnen von Datei-Hashes , und solche Erweiterungen werden von den meisten Clients und Servern unterstützt (dies ist sehr häufig). Unter diesem Link finden Sie eine vollständige Dokumentation solcher Erweiterungen: https://tools.ietf.org/html/draft-ietf-secsh-filexfer-extensions-00#section-3
In Anbetracht des oben Gesagten würde ich empfehlen, einen SFTP-Client zu verwenden, der solche Erweiterungen unterstützt, und den Hash-Code Ihrer Datei sowohl auf dem Client als auch auf dem Server (nach der Übertragung) zu berechnen und zu überprüfen, ob sie identisch sind. Das ist der sicherste Weg, um Ihr Ziel zu erreichen.
quelle
Das sFTP-Protokoll verfügt über eine integrierte Fehlerprüfung.
Dass der Client eine Null-Byte-Datei erstellt, anstatt dem Benutzer eine Fehlermeldung zu geben, kann auf drei Dinge zurückzuführen sein:
quelle
sftp hat Integritätsprüfungen eingebaut, daher kann ich nur davon ausgehen, dass der Benutzer den Fehler nicht bemerkt hat.
quelle
Vergleichen Sie mit md5sum die Prüfsumme der beiden Dateien
quelle