LINUX.ORG.RU

Выполнение скрипта между двумя серверами

 , , shared,


0

2

День добрый. Вопрос таков: есть сервер, на котором висит сайт(s1) и есть сервер, который хранит фото(s2), как можно сделать авто добавление фото в базу, при появлении(загрузке) фото на s2 через ftp,html форму.Мне нужно направление, как сделать общение между серверами(что бы s2 передал s1 например название, размер файла, а s1 выполнил скрипт добавление файла в базу).Оба сервера на Linux Debian.


Как добавляет данные сайт1? Это какой-то скрипт\форма? Передавайте данные туда, проверяйте хранилище на s2 любым удобным способом. В чем проблема то?

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

Да, это php скрипт, который добавляет данные в базу. Каким способом можно сделать проверку s2?

gareth
() автор топика
Ответ на: комментарий от gareth

Самый примитивный метод - по cron, можно также прикрутить анализаторы типа inotify.

Скрипт на php параметры же скорее всего по post\get принимает? Это тоже легко реализуется.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

Ему будет передана ссылка(в текстовом формате), а картинка будет выводиться через ссылку. Я еще не знаю как реализовать прием-передачу данных.

gareth
() автор топика
Ответ на: комментарий от alozovskoy

Кода пока нету, так как ищу механизм передачи. «Я еще не знаю как реализовать прием-передачу данных.»

gareth
() автор топика
Ответ на: комментарий от gareth

Ну тогда сложно ответить на ваш вопрос. По сути сначала нужно узнать, как сам скрипт будет принимать данные. Например:

s1 выполнил скрипт добавление файла в базу

<?php
//Адрес скрипта www.example.com/add.php
$insert='insert into table (\'name\', \'size\') value (\''.$_POST['name'].'\', \''.$_POST['size'].'\')';
//Дальше выполняем сам код $insert в БД удобным способом

что бы s2 передал s1 например название, размер файла

curl -d "name=filename.jpg&size=20mb" www.example.com/add.php

Это, конечно, все очень упрощенно - сервер должен проверять что за данные ему прислали и т.д., но мысль такая.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)

А для чего это требуется? Может проще сделать так, чтобы s2 по запросу от s1 выполнял бы нужные действия с файлами? Обязательно ли вообще что-то в базу сохранять, может проще работать с ФС?

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Для организации независимости storage от сайта. Это было бы хорошо,

Может проще сделать так, чтобы s2 по запросу от s1 выполнял бы нужные действия с файлами?

Какими средствами это можно организовать?

gareth
() автор топика
Ответ на: комментарий от gareth

зависит от того, как сайт связан с хранилищем. например если пользователь заливает файл на второй сервер по FTP, а затем к примеру прикрепляет файл на сайте к какой-то записи, то можно просто для второго написать API которое будет возвращать список файлов, а на первом уже будет выбираться нужный. если все таки нужно автоматически добавлять файлы в БД, то можно держать БД для файлов на втором сервере и подключаться к БД по сети. автоматически добавлять по крону, как выше писали. вариантлв много, что-тл конкретное без подробностей посоветовать сложно.

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