Эффективно копируем гигабайтные файлы по сети в Linux / Unix / Mac OS

preview_player
Показать описание


Задача переноса больших многогигабайтных файлов с сервера или на сервер возникает нечасто, но — возникает, как правило, при переносе сервера, большом бэкапе чужого проекта и подобных задачах.

Как эффективно выгрузить с сервера, скажем, 10 гигабайт? В этом видео мы поделимся вариантами переноса файлов и расскажем о наиболее быстром способе копирования больших файлов в *nix.

/****************** about ******************/

Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:

Рекомендации по теме
Комментарии
Автор

У nc есть один существенный минус. Порт на сервере для передачи данных надо открыть в файрволле, а после передачи не забыть закрыть. А для передачи данных с локального ПК на сервер, надо пробрасывать порт на локальный комп на маршрутизаторе (если конечно сквозная маршрутизация не настроена средствами ВПН или напрямую). Для ssh порт как правило открыт для подключений извне, так что дополнительных лействий совершать не придется.


Далее, хорошо сжимаемые данные (текстовики, образы виртуалок, дампы баз) принято гонять в сжатом виде. Жать можно на лету, либо встроенными в scp инструментами, либо жать сторонними утилитами вроде pigz и гонять данные через ssh и пайпы. Например так:
Подобным способом можно не только гонять файлы, но и переливать образ на удаленное устройство.

starikoff
Автор

Подобные видео очень даже интересны! Благодарю!

HELLO_AGAIN
Автор

Огонь! Как и в комментах ниже, тоже в основном через rsync льем. Мелочевку, так и вообще в mc по F5 удобней :)

vasiliynet
Автор

Очень крутые и действительно полезные видосы!

aleksandrdevelopment
Автор

Спасибо дружище, интересно, буду пробовать! С меня лайк и подписка)

eugenstakhursky
Автор

Спасибо, мне пригодится, я не знал= )

markplay
Автор

Когда он начал передавать файлы, у меня видео залагало.

RuchejAlex
Автор

Класс, красивое использование утилит!

VadimMolchanov
Автор

Блин! Как охрененно, а я то думал как мне по быстрому передать виртуалку на другой сервак. Спасибо!

AlieXAndreX
Автор

Каканы всем привет - классное приветствие я такого ещё не слыхал

dnykwqc
Автор

Обалдеть). Только для трассировки http get/post использовал. Не знал, что можно файлы передавать по сети.

nikolaysokolov
Автор

Благодарю за видео. netcat вообще швейцарский нож - мало чего из него сделать _нельзя_ 8)

olegff
Автор

Вполне не плохо, в локальной сети на удалённых серверах хорошо файлы перекидывать

scarsboy
Автор

а мне чет кажется rsync быстрее, сравни скорости в след видео, или это допиши)

feoeqph
Автор

nc прикольно. есть ещё rcp, оно может копировать без шифрования (или для scp задать шифрование слабее дефолтного, чтобы меньше процессор грузить, в него обычно упирается скорость). А ещё можно на стороне источника взмахом пера поднять питонячий вебсервер (с корнем в каталоге где запускается команда, по умолчанию на порту 8000 и всех доступных интерфейсах, но можно задать если надо) и с него по http забрать любым удобным клиентом.
python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2, 7) else "SimpleHTTPServer")')
Serving HTTP on 0.0.0.0 port 8000 ...

DmitryLopatkov
Автор

Спасибо! Пользуюсь NFS для передачи если в одной сети.

abyrvag
Автор

знал о ней, но на принимающей стороне писал питоновский скрипт на сокетах для приёма файлов. Для копирования большого количества файлов вы что выберете. nc или rsync?

bfiwidv
Автор

какая разница в скорости передачи, если передавать через файл зиллу используя sftp ?

rabotavsem_biz
Автор

rsync, пожалуй самый не удобный инструмент), но для передачи например сайта размером 500 гигов, на мой взгляд лучше чем rsync не найти. Правда он частенько разрывает соединение, но если написать не сложный скрипт, то он будет возобновлять передачу сам и в обще поможет в организации передачи.
rsync может налету сжимать и шифровать данные, проконтролирует целостность файлов и структуры директорий, да и сама доставка будет гарантированной.
Пользуюсь на работе rsync, в качестве быстрого (инкрементного способа), копирование всякого рода софта, юзер документов и т.д.. Проверяет на изменения более 200 гигов за несколько секунд, с около десяти ПК и копирует только изменения или новые файлы, старые (которых нет в оригинале) в моём случае удаляет.

LinuxbyDmitry
Автор

не знал о такой штуке. до этого использовал только scp

GrinRuslan