Какой подход лучше использовать для копирования крупного файла по сети, исп python script?
У нас есть файлы, которые генерируются на вирт линукс машине во внутренней сети - отчеты, размером несколько сотен мегабайт - их нужно скопировать на удаленный ftp сервер в определенное время. Копировать с машины A где появляется файл, будет скрипт на машине B (A и B не доступны из интернета, но выход сами имеют) и затем отправлять его по FTP на публичный айпишник
Вопросы такой, использовать ли машину B для промежеточного хранения этих отчетов или можно как-то сразу, например побайтно начать копировать их? Думал подключить Paramiko для ssh захода на машину A с машины B.
опять же ты написал что машине доступен выход в интернет ?? так отправляй напрямую через passive mode ftp - он не формирует обратный канал для передачи данных и значит отлично работает как чисто клиентское приложение.
но я б отказался от древнего фтп в сторону хотя бы rsync.
Вадим, прикольно однако в буковках ошибаешься :)
если sftp из комплекта ssh, тогда оправляй файлы через него. как килент он неплохо отработает.
rsync умеет эффективно докачивать после обрыва связи и гарантировать 100% передачу файла. если это не нужно, то не нужно.
и причем здесь питон когда нужно файлы перегонять ??
Вадим, конечно можно. на любой машине у тебя есть выход в тырнетик, значит есть доступ к любому адресу интернет.
отправляется файл через sftp как-то так (пардон sftp пользовался крайне давно)
$ echo -e "put file.txt" | sftp user@88.88.88.88
если у тебя жосткое ограничение на питон, (питоновы скрипты один фих через тую же консоль запускаются).
то изучать модуль sftp для питона и писать скрипт отправки на питоне.
думаю что в таком простом варианте он от будет больше баше-лапши, но не сильно.
зато функциональность наверн поболее будет...