Передача файлов. Как писать в БД с другого сервера?

Доброго времени суток, уважаемые!
Имеется linux-server с базой данных Postgres-SQL.
Имеется windows-server, который каждую секунду принимает 4-5 текстовых файлов по 1 kb по FTP.
Необходимо максимально быстро (без задержек) передавать данные с windows на linux.
Что-то типо проверки: файл пришел -> сразу отправляем.
* Если конекта к linux нет, то ждем конекта, и отправляем скопом.

В этой связи вопрос, как реализовать такую схему.
Возможные варианты:
1) При приеме файла, сразу из windows писать в БД (создать скрипт, который проверяет наичие нового файлав в Windows).
2) Принимать файл, потом передавать на linux через аналог scp/ftp/rsync(сделать как-то синхронизацию), и уже на linux написать скрипт пишуший новые файлы в бд.

* я плохо знаком с серверной windows, пожалуйста подскажите.

Спасибо!
  • Вопрос задан
  • 423 просмотра
Пригласить эксперта
Ответы на вопрос 2
@DuD
Да разницы по сути никакой.
Но если сетевая связанность может пропасть. То, как мне кажется лучше чем то вроде rsync(который поддерживает синхронизацию и докачку) лить файлы на linux, а на нем уже лить в базу. Ну это чтобы не писать собственный обработчик и чекер доступности БД.
Ответ написан
Комментировать
Задача похожа на массовую рассылку почты с почтового сервиса.

На Linux-сервере запустить HTTP API микро-сервис, способный принимать данные извне и записывать данные в СУБД (скрипт, если так угодно).
На Windows-сервере скриптом при получении данных запускать задачу по HTTP POST при помощи программы cURL и параметра --retry. Необходим механизм учёта отправленных/неотправленных файлов, которую можно решить при помощи сервера очередей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы