You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB

title tags
Простой способ перекидывания файлов по сети между nix машинами linux, shell, repost

Способ не претендует на оригинальность, но, по моим наблюдениям, им мало кто пользуется. Не требуется rsync, самба, nfs, ftp и прочее. Только стандартный tar и netcat. Две строчки команд, по одной на машину.


На машине-источнике: tar -cv src/dir/ | nc -c -t <dest ip> <port>

На машине приемнике: cd dest/dir nc -t -l -c -p <port> | pv | tar -x

pv - используется в качестве прогресс-бара, его можно не включать в конвеер и обойтись параметром «-v» у tar'а.

Если абсолютно уверены в надежности сети между машинами, «-t» у netcat'а можно заменить на «-u» (tcp -> udp), будет чуть быстрее.

UPD: Похоже, в некоторых случаях, последний файл в архиве "бьётся". Неплохо бы было выяснить почему. Обойти можно добавив в конец архива ещё какой-нибудь один файл.

UPD2: Похоже, я не первый кто наступает на эти грабли. Проблема описана здесь.