Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: anakinn в Mar 31, 2015, 16:43



Титла: firebird check console
Публикувано от: anakinn в Mar 31, 2015, 16:43
Здравейте,

Казуса е следния. Има една стара машина Генту 2.6.12 с firebird 1.5.
По няколко причини ъпгрейда и се отлага доста занапред във времето.
Понякога базата забива и се налага убиването и пускането и наново (/opt/firebird/bin/fbserver start &)

Та искам да направя скрипт/демон, който проверява дали има връзка към базата.
Пробвах един скрипт с телнет, през 15-20секунди, но се оказва, че понякога телнета стои закачен,
а базата забива. Когато забие tcp port 3050 остава отворен, така че и това не върши работа.

Как през конзолен ред мога да листна някоя таблица или нещо подобно ?

Пускайки:
isql /data/simo/db/bazata.fdb -user usera -p parolata;
ме пуска в isql, където трябва да се пишат заявки (show, list и т.н.)

Има ли начин да изкарам някаква информация дали firebird-а работи с един ред през конзолата?

Благодаря !


Титла: Re: firebird check console
Публикувано от: korea60 в Mar 31, 2015, 17:23
1 - ps -aux | grep firebi*
2 - top -b | grep fireb


Титла: Re: firebird check console
Публикувано от: anakinn в Mar 31, 2015, 17:26
Не, процеса остава. Ако ползвам този начин ще имам много fbserver, коити
работят, но всъщност е забил.


Титла: Re: firebird check console
Публикувано от: k0tka в Mar 31, 2015, 17:43
Не съм запознат с firebird но предполагам че можеш да изпълниш select от терминала или баш скрипт (крон) и да провериш за exit code-а със $? ако е 0 exit скрипта, ако не - рестарт на базата.


Титла: Re: firebird check console
Публикувано от: jet в Mar 31, 2015, 18:04
Код
GeSHi (Bash):
  1. isql -i my_script.sql localhost:my_database -user sysdba -pass ******


Титла: Re: firebird check console
Публикувано от: anakinn в Apr 02, 2015, 09:44
Всъщност гледам,че проблема е по-сложен. Когато забие firebird (тествам през едно веп приложение)
и правя заявки от конзолата (show version, show tables и т.н.) те се изпълняват и връщат резултати.

Така, че ще трябва да помисля в друга насока или по друг начин да проверявам дали е "жив"


Титла: Re: firebird check console
Публикувано от: k0tka в Apr 02, 2015, 10:14
Ммммм ако изпълняваш заявки, когато е забил и те връщат резултат, вероятно не е забил. Възможно ли е да е нещо свързано с базата която ползва твоето приложение, някоя заявка която зависва и т.н. Има ли нещо като show full processlist или лог на заявките? Пак казвам че не съм запознат с работата на firebird и давам само предположения.


Титла: Re: firebird check console
Публикувано от: anakinn в Apr 02, 2015, 11:23
Може би тези show version, tables не вършат работа.
Някакъв селект трябва да се подбере, но не знам какъв.
Ще опитам да почопля дали ще излезе нещо.

Дайте ми съвет каква заявка да пусна към базата, за да проверя дали е жива.