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.

21 lines
1.6 KiB

9 years ago
---
title: Простой способ перекидывания файлов по сети между nix машинами
tags: 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: Похоже, я не первый кто наступает на эти грабли. Проблема описана [здесь](http://sourceforge.net/tracker/?func=detail&aid=1115190&group_id=52204&atid=466046).