Как может быть завершена передача сломанной netcat? - PullRequest
0 голосов
/ 26 мая 2020

Из соображений скорости у меня есть netcat отправка большого единственного .tgz архивного файла с одного компьютера на удаленный. По моим наблюдениям, netcat быстрее, чем rsync для такого рода передачи. Передача была настроена следующим образом.

На принимающей машине сначала была запущена следующая команда:

time nc -vl 33333 > archive.tgz

На отправляющей машине следующая команда была запущена второй :

time nc -N $SERVERIP 33333 < archive.tgz

На принимающей машине прогресс может быть интерпретирован путем измерения (известного) размера получаемого файла:

ls -al --block-size=M

Теперь предположим, что передача была как-то прервано. Скажем, на отправляющем компьютере отключено питание или оборвалось соединение inte rnet. Если предположить, что перезапуск передачи исключен как вариант (из-за времени, затраченного на передачу большого файла), что было бы разумным способом забрать передачу? Мог ли netcat как-нибудь снова забрать перевод? Сможет ли rsync подобрать куски и завершить передачу?

1 Ответ

0 голосов
/ 02 июня 2020

Да, rsyn c будет сканировать файл с каждой стороны по частям и передавать только отсутствующие фрагменты.

Обратите внимание, что rsyn c (обычно) передает ваши данные через зашифрованный S SH туннель, тогда как netcat передает данные в виде открытого текста (вы можете знать об этом, но случайным читателям следует остерегаться!)

...