Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как автоматизировать обновление БД с локальной машины?
 
 автор: muravey   (19.01.2011 в 10:54)   письмо автору
 
 

Доброго времени суток!

Пример:
- в командировке, интернета нет, написал заметку добавил ее на сайт который на localhost;
- приехал в офис подкл к интернету сайт на localhost увидел подключение и обновил сайт на хосте в инете.

Вопрос: есть у кого алгоритм примерной реализации? или может кто делал что подобное?

  Ответить  
 
 автор: Trianon   (19.01.2011 в 10:57)   письмо автору
 
   для: muravey   (19.01.2011 в 10:54)
 

"подкл к интернету сайт на localhost" невозможно по определению.

Про то, что к сети можно подключить только сервер, а никак не сайт, я уже молчу.

  Ответить  
 
 автор: muravey   (19.01.2011 в 11:10)   письмо автору
 
   для: Trianon   (19.01.2011 в 10:57)
 

Т.Е. вы хотите сказать, что не возможно написать скрипт на РНР, который обнавлял БД с локальной машины на хосте в инете?

  Ответить  
 
 автор: Trianon   (19.01.2011 в 11:12)   письмо автору
 
   для: muravey   (19.01.2011 в 11:10)
 

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

А что я хочу, так это попросить четче формулировать свои мысли.

  Ответить  
 
 автор: muravey   (19.01.2011 в 11:16)   письмо автору
 
   для: Trianon   (19.01.2011 в 11:12)
 

Я вас понял.

И какие есть соображения как это сделать, с чего начать?

  Ответить  
 
 автор: Trianon   (19.01.2011 в 11:28)   письмо автору
 
   для: muravey   (19.01.2011 в 11:16)
 

для начала - определить, есть ли у Вас в принципе возможность прямого удаленного подключения к серверу БД хостера.
Обычно хостеры в рамках стандартных тарифных планов такого просто не предоставляют.

А уже потом, думать, что такое "сделать это" и как его можно осуществить.
В частности, подумать еще и над тем, что пока Вы там в командировке без инета сидите, на сайт кто-то ходит, очевидно какие-то изменения вносит.. В гостевую книгу, скажем, пишет, или еще куда.

  Ответить  
 
 автор: muravey   (19.01.2011 в 11:37)   письмо автору
 
   для: Trianon   (19.01.2011 в 11:28)
 

я правильно понимаю, что нужен скрипт синхронизации БД на ЛМ с БД на хосте?

  Ответить  
 
 автор: cheops   (19.01.2011 в 11:42)   письмо автору
 
   для: muravey   (19.01.2011 в 11:37)
 

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

  Ответить  
 
 автор: Trianon   (19.01.2011 в 11:43)   письмо автору
 
   для: muravey   (19.01.2011 в 11:37)
 

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

  Ответить  
 
 автор: cheops   (19.01.2011 в 11:37)   письмо автору
 
   для: muravey   (19.01.2011 в 10:54)
 

Сделайте проще, создайте систему создания текстовых дампов статей и развертывания их на сервере, с проверкой того факта, имееются такие статьи на сервере или нет. Сохранили дамп, забросили его на сервер - парсер разобрал, отобрал новые данные и поместил их в таблицу.

  Ответить  
 
 автор: muravey   (19.01.2011 в 11:40)   письмо автору
 
   для: cheops   (19.01.2011 в 11:37)
 

> забросили его на сервер - парсер разобрал, отобрал новые данные и поместил их в таблицу.

это придется делать вручную?

  Ответить  
 
 автор: cheops   (19.01.2011 в 11:44)   письмо автору
 
   для: muravey   (19.01.2011 в 11:40)
 

Теоретически можно и не вручную (например, по cron при помощи сокетов или CURL передавать данные не сервер), однако, придется озаботиться проблемой безопасности (чтобы кто-нибудь другой не воспользовался вашим каналом).

  Ответить  
 
 автор: muravey   (19.01.2011 в 11:52)   письмо автору
 
   для: cheops   (19.01.2011 в 11:44)
 

Есть соображения по алгоритму:

- есть скрипт на localhost который собирает текстовой дамп всех изменений в БД
- есть скрипт на хосте который позваляет загрузить дамп, допустим в папку OBNOVL
- есть скрипт который проверяет папку OBNOVL если есть файл обновления, то выполняем дамп, который в файле и добавляем в БД
- после чего этот файл удаляется

Правильно мыслю? Поправте что не так?

  Ответить  
 
 автор: cheops   (19.01.2011 в 12:05)   письмо автору
 
   для: muravey   (19.01.2011 в 11:52)
 

Можно так, я бы сам действовал так бы (чтобы максимально приблизиться к тому, что вы задумали)
- есть скрипт на localhost, который проверяет изменения в БД и формирует текстовый дамп изменений, он же отправляет его методом POST на сервер (через сокеты или CURL), вместе с логином и паролем.
- на хосте (сервере) имеется скрипт, который принимает текстовый дамп, читает его прямо из временной папки (откуда он удалется автоматически) и разврачивает в базе данных.
- первый скрипт запускается планировщиком задач (Windows-вариантом cron), если есть интернет - он срабатывает, если нет не срабатывает, в результате вы ничего руками не делаете (ну кроме написания скриптов).

  Ответить  
 
 автор: muravey   (19.01.2011 в 12:29)   письмо автору
 
   для: cheops   (19.01.2011 в 12:05)
 

Спасибо я все понял, реализую данный алгоритм поделюсь результатом!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования