Копирование директорий между хостами с помощью netcat
Как перенести каталог с одного хоста на другой?
- Можно использовать ssh, но при этом весь трафик будет сжиматься, что приведёт к некоторым потерям производительности.
- Когда такое копирование производится по общедоступным сетям, правильнее использовать ssh, но внутри одного сегмента можно выполнить эту операцию и с помощью netcat. Для этого:
На стороне получателя данных переходим в каталог, в который необходимо разместить полученные данные, и выполняем такую команду:
nc -l 12345 | tar xvf -
На стороне источника данных так же переходим в каталог, в котором размещён передаваемый каталог, и выполняем такую команду:
tar -cf - ./our_directory/ | nc target_host 12345
Где:
12345 - номер порта, по которому будет производиться обмен данными;
target_host - ip-адрес или hostname компьютера, на который будут передаваться данные.
Если хочется следить за статусом процесса, то можно воспользоваться утилитой pv, почитать о ее использовании можно тут PV
Обновлено 06.04.2016 21:28