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: Похоже, я не первый кто наступает на эти грабли. Проблема описана здесь.