Мне нужно перенести базу данных объемом 400 Гб, состоящую из одного файла, через Интернет с сервера, на котором у меня полный контроль, на другой компьютер на противоположной границе океана (но который использует медленное соединение). Передача должна занять целую неделю, и для того, чтобы сократить все накладные расходы протокола (даже при использовании ftp накладные расходы составят 10 минут), я использую сырое соединение TCP.
Я уже перенес 10% файла, но узнал, что через несколько часов произойдет запланированное отключение.
Как я могу спросить netcat или socat илизавитокобслуживать FILE:database.raw
по смещению, когда оно было прервано? или
решение1
Если ваша команда, как указано в комментариях, следующая:
socat -u FILE:somedatabase.raw TCP-LISTEN:4443,keepalive,tos=36
Вы можете, на отправляющей стороне, сделать seek
и начать обслуживание оттуда:
socat -u gopen:somedatabase.raw,seek=1024 TCP-LISTEN:4443,keepalive,tos=36
на принимающей стороне вам также необходимо искать:
socat tcp:example.com:4443 gopen:somedatabase.raw,seek=1024
Проверьте страницу руководства socat
, там есть и другие варианты, которые могут вас заинтересовать.