Ich muss eine 400 GB große Datenbank, die aus einer einzigen Datei besteht, über das Internet von einem Server, über den ich die volle Kontrolle habe, auf einen anderen Computer am anderen Ufer des Ozeans übertragen (der jedoch eine langsame Verbindung verwendet). Die Übertragung sollte eine ganze Woche dauern und um den gesamten Protokoll-Overhead zu reduzieren (selbst bei Verwendung von FTP würde der Overhead 10 Minuten betragen), verwende ich eine reine TCP-Verbindung.
Ich habe bereits 10 % der Datei übertragen, aber ich habe erfahren, dass es in einigen Stunden eine geplante Unterbrechung geben wird.
Wie kann ich Netcat oder Socat fragen oderLockeum zu dienen, FILE:database.raw
bei dem es unterbrochen wurde? oder
Antwort1
Wenn Ihr Befehl, wie in den Kommentaren angegeben, lautet:
socat -u FILE:somedatabase.raw TCP-LISTEN:4443,keepalive,tos=36
Sie können auf der Sendeseite Folgendes tun seek
und von dort aus mit der Bereitstellung beginnen:
socat -u gopen:somedatabase.raw,seek=1024 TCP-LISTEN:4443,keepalive,tos=36
Auf der Empfängerseite müssen Sie außerdem Folgendes anstreben:
socat tcp:example.com:4443 gopen:somedatabase.raw,seek=1024
Sehen Sie sich die Manpage für an socat
. Dort finden Sie weitere Optionen, die für Sie von Interesse sein könnten.