LINUX.ORG.RU
ФорумAdmin

Скрипт+Cron+MySQL+Текстовый файл


0

0

Всем доброго дня.
Задача: "смотреть" MySQL таблицу на предмет изменений (к примеру по особому полю в котором будет дата последних изменений). в случае если изменения были - брать данные из этой таблицы (примерно 4-6 полей), перезаписывать по этим данным текстовый файлик (конфиг файл приложения, думается что заново переписать файл будет проще чем "отыскивать" в нем несоответствие с таблицей), после чего рестартовать само приложение. Ну и делать эту операцию каждые три часа.

формат файла примерно такой:
[StatParametr_1]
...
...
...
...
[Stat_Parametr_2]
....
...
...
...
...
[DB_parametr_1]
Record_1_Pole_1 = значение из таблицы
Record_1_Pole_2 = значение из таблицы
Record_1_Pole_3 = значение из таблицы
Record_1_Pole_4 = значение из таблицы
Record_1_Pole_5 = значение из таблицы
Record_1_Pole_6 = значение из таблицы

[DB_parametr_2]
Record_2_Pole_1 = значение из таблицы
Record_2_Pole_2 = значение из таблицы
Record_2_Pole_3 = значение из таблицы
Record_2_Pole_4 = значение из таблицы
Record_2_Pole_5 = значение из таблицы
Record_2_Pole_6 = значение из таблицы

[DB_parametr_3]
Record_3_Pole_1 = значение из таблицы
Record_3_Pole_2 = значение из таблицы
Record_3_Pole_3 = значение из таблицы
Record_3_Pole_4 = значение из таблицы
Record_3_Pole_5 = значение из таблицы
Record_3_Pole_6 = значение из таблицы

........
[DB_parametr_N]
Record_N_Pole_1 = значение из таблицы
Record_N_Pole_2 = значение из таблицы
Record_N_Pole_3 = значение из таблицы
Record_N_Pole_4 = значение из таблицы
Record_N_Pole_5 = значение из таблицы
Record_N_Pole_6 = значение из таблицы

StatParametr_1 - статическиq параметр. который меняется крайне редко (скажем "основные" настройки)
DB_parametr_1 - настройки которые "подтягиваются" из базы.

есть мысли??
Заранее Благодарен.
P.S. - RedHat 9.0


Не понимаю в чем проблема, здесь нет абсолютно ничего сложного.
Один sql запрос для определения изменений и один для вытаскивания данных

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

Пример привести можете?? чтобы все выполнялось из одного скрипта.

iles
() автор топика

Я тут на днях занимался этим вопросом для реализации в веб-интерфейсе, но из-за сложности постановки задачи, забил на это. Все изменения в таблице можно взять из стандартного запроса в MySQL:

SHOW TABLE STATUS

mysql>help show table status;

Name: 'SHOW TABLE STATUS'
Description:
Syntax:
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']

SHOW TABLE STATUS works likes SHOW TABLE, but provides a lot of
information about each table. You can also get this list using the
mysqlshow --status db_name command. This statement was added in MySQL
3.23.

Поля по которым можно следить за изменениями:
Data_length
Update_time
Index_length

За доп. инфой см. в комментах на офф сайте MySQL по значению SHOW TABLE STATUS.

gh0stwizard ★★★★★
()

А! Ну и вопрос самый интересный - моментальный контроль за изменениями по определенному полю в таблице. Вот тут у MySQL очень сильная недоработка, предлагают использовать bin-logs. Можно смотреть логи из консоли MySQL, но вывод не шибко радостный, учитывая что бин-лог пишется в несколько файлов и информация о том какая таблица куда пишется в логах знает только MySQL. Из консоли не возможно сделать стандартными средствами запрос в человеко-понятном виде, чтобы MySQL сама нашла нужный лог-файл и выдала инфу. Плюс ко всему по дефолту в бин-логах указываются только инсерт запросы.

Поняв все это, дальнейшие поиски по решению проблемы остановились.

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

Да мне собственно моментальный контроль и не нужен, так, раз в 3 часа "свериться". Я просто в скриптах не силен, потому попросил помощи здесь.
Возможно для кого-то это пара пустяков, но для меня проблема, точно так же, как для этого "кого-то" вопрос ремонта автоматической КПП у Mazda RX8 проблема, а для меня пара пустяков. Люди разные и склад "мозгов" разный.
Если есть вариант помочь - могу поставить пиво.

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

sdio - язвить всем (или избранным) пришедшим на этот форум - ваш принцип??
Я не жмот в плане пойти на встречу дельным советом, про диагностику вообще молчу, кто заезжает в мой бокс тот знает, и из бокса не выгоняю со словами - "да это же элементарно, это же простейшие операции", в отличии скажем от вас sdio.

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

пригоняй свой скрипт и я проведу его диагностику, а вот построить тебе сейчас авто на заказ несколько иной объем работ

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