LINUX.ORG.RU

Передача файлов по сети.


0

0

Есть 4 рабочие станции и центральный сервер.

На каждой рабочей станции раз в 3 секунды формируется текстовый файл размером 1 МБ.

Необходимо с минимальными затратами, сразу после формирования этот файл по сети передать на сервер. Все компьютеры соединены сетью со скоростью 1 Gbit/s.

Какой способ передачи лучше избрать из соображений стабильности и экономии ресурсов всех 5-х машин?

За ответы заранее спасибо.


Re: Передача файлов по сети.

ftp
nfs

anonymous ()

Re: Передача файлов по сети.

Имеется в виду транспорт или софтина которая умеет раз в 3 сек слать файл?

hint: если что, то софтина - это cron :)

cathode ()

Re: Передача файлов по сети.


да мало ли, rsync, ftp/sftp, rcp/scp и иже с ними.в конец концов нарисовать собственную системку с минимальным оверхедом за пару часов.

// wbr

klalafuda ★☆☆ ()

Re: Передача файлов по сети.

В конце-концов, заведи на сервере Базу Данных и укладывай текстовую информацию в неё... И обрабатывать будешь легче и надёжнее (не будешь периодически "ловить" сервером "пустышки").

Neksys ★★★ ()

Re: Передача файлов по сети.

subversion не подойдет?

andreyu ★★★★★ ()

Re: Передача файлов по сети.

nc + tar, scp, lftp

OxiD ★★★★ ()
Ответ на: Re: Передача файлов по сети. от cathode

Re: Передача файлов по сети.

++
тут вообще всё что хочеш можно пользовать.
bash, cron, ftp/всёподобное, 15мин работы.

anonymous ()
Ответ на: Re: Передача файлов по сети. от anonymous

Re: Передача файлов по сети.

> Mad overengineering skills detected.

:-)

А ты _сделай_ выкладывание файлика раз в 3 сек и считывание содержимого этого файлика каждые 3 сек. Погоняй с часик, проконтролируй побайтно, что было считано, на самом деле. Может, и поймёшь, "в чём прикол" и зачем нужны механизмы Баз Данных...

Neksys ★★★ ()
Ответ на: Re: Передача файлов по сети. от Red_Lion

Re: Передача файлов по сети.

> echo "${data}" | netcat ${ip} ${port}

Это уже лучше возни с часто обновляемыми файлами. Конечно, если не пытаться из этого соединения отдельными процессами формировать злополучный часто обновляемый файл, чтоб не "вернуться снова на Дерибасовскую", то идея выглядит неплохой.

> Дальшее обьяснять?

Об этом лучше спросить автора топика, можно ли в его серверный процесс встроить нормальную/полную обработку этого соединения и "бесфайловую" синхронную передачу данных. Мне идея понятна. Главное же не дать возможности основному серверному процессу считать недоформированный файл, в середине или начале процесса его формирования, не так ли?

P.S. Тем не менее, IMHO работа с БД выглядит менее затратной, т.к. не нужно будет писать свой сервер, свои реализации её механизмов по обеспечению целостности данных.

:-)

Neksys ★★★ ()
Ответ на: Re: Передача файлов по сети. от Neksys

Re: Передача файлов по сети.

Целостность данных можно по md4 проверить (md4 довольна быстра и не накладна)

Просто у меня была ситцуация когда надобыло полный дамп харда передать с проверкой на целостность передачи. Было поднята pxe система которая читала определнное количество данных (у меня было 32мб), делала контрольную сумму, отправляла ее на хранилище, потом отправляла данные. Скрипт не очень большим оказался и по сути свелся к -e опции на сервере и последовательному read данных.

Просто при небольшом количестве клиентов и необходимости что-то сделать быстро я считаю netcat лучшем решением

Red_Lion ()
Ответ на: Re: Передача файлов по сети. от Red_Lion

Re: Передача файлов по сети.

Проблема не в передаче файла, тот же scp прекрасно справляется с задачей. Проблема с квантованием процесса формирования файла: заголовок, таймаут, порция данных, таймаут, порция данных, таймаут, ... , закрытие файла. Основной процесс обработки может асинхронно начать считывать файл в любой из этих периодов и закончить чтение, дойдя до конца недоформированного файла, по существу, неполных данных. Это не проблема сети, это проблема синхронизации процессов.

:-)

Neksys ★★★ ()
Ответ на: Re: Передача файлов по сети. от Neksys

Re: Передача файлов по сети.

>> Проблема не в передаче файла, тот же scp прекрасно справляется с задачей. Проблема с квантованием процесса формирования файла: заголовок, таймаут, порция данных, таймаут, порция данных, таймаут, ... , закрытие файла. Основной процесс обработки может асинхронно начать считывать файл в любой из этих периодов и закончить чтение, дойдя до конца недоформированного файла, по существу, неполных данных. Это не проблема сети, это проблема синхронизации процессов.

+1

И кстати netcat (в режиме сервера) держит только одно соединение одновременно. И если нужно отправлять файлы на сервер с нескольких машин, то решение с nc не подходит однозначно.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.