Страница 1 из 2

КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 10:58:14
demondem10
ТАК получается что мускул стартуей почти последним и проги которые его юзают не успевают к нему приконектится
в результате все рушиться!
Кто знает ответ?

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:06:13
Alex Keda

Код: Выделить всё

man rcorder
и как пример посмотреть почитать файлы, которые лежат в /etc/rc.d/ и имеют имена из больших букв

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:07:32
Alex Keda
и не забывай баг-репорты писать - чтобы на других ерверах не наступать на эти грабли и другие чтобы не наступали

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:08:03
BAV_Lug
Как вариант, изменить имя скрипта в /usr/local/etc/rc.d c mysql.sh на 000.mysql.sh
Только при обновлениях следить что-бы скрипт не размножался.

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:09:31
Alex Keda
правильный метод - штатными средствами установит порядок запуска скриптов и отписаться на сайт freebsd - баг репортом - чтобы сделали корректно.

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:12:24
BAV_Lug
Я же написал
BAV_Lug писал(а):Как вариант
:)

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:34:38
demondem10
В /usr/local/etc/rc.d/mysql-server
и переделываю на 001.mysql-server
потом в /etc/rc.conf меняю на 001.mysql="YES"

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:35:42
BAV_Lug
demondem10 писал(а):потом в /etc/rc.conf меняю на 001.mysql="YES"
Вот это делать не нужно :)

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:40:59
demondem10
Не помогает вообще!!!
есть идеи , можно с примером синтаксиса!!! :D

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:43:50
BAV_Lug
В rc.conf прописываешь

Код: Выделить всё

mysql_enable="YES"

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:45:12
demondem10
Уважаемый он тогда стартует в обычном порядке
после всех

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 11:51:39
grave
Каждый скрипт из /etc/rc.d для утилиты rcorder должен содержать специальные строчки, особенно строчку с словом "PROVIDE:" обязательную строчку "# KEYWORD: FreeBSD" и если необходимо, то строчки со словами "REQUIRE:" и "BEFORE:". Строчки должны располагаться в виде блока (одна за другой). Формат строчек строго заданный. Каждая специальная строчка должна начинаться с символа '#' за которым следует один символ 'пробел' далее одно из слов PROVIDE:, REQUIRE:, BEFORE:, KEYWORD:, затем снова символ 'пробел' и заканчивается все "обстоятельствами" (conditions).

# PROVIDE: Задает имя сервиса (демона), которое обслуживает этот скрипт.
# REQUIRE: Список сервисов (демонов|обстоятельств), необходимых этому скрипту для запуска своего демона (сервиса).
# BEFORE: Список сервисов (демонов|обстоятельств), зависящих от демона запускаемого этим скриптом.

# KEYWORD: FreeBSD или NetBSD, также в этой строчке можно написать волшебное слово "nostart" тогда rcorder исключит этот скрипт из своего списка.

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-07-19 12:15:29
demondem10
БОльшое спасибо все получилось mecrek стартует перед тем демоном squidom
путем прописания в сонфиг мускула

Код: Выделить всё

#BEFORE: squid
и заработало
Всем спасибо

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-08-20 17:15:13
Ganover
Еще есть такая фишка как слип, по крайней мере в задаче где один демон должен стартовать раньше это тоже работает

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-08-20 18:56:20
Alex Keda
Ganover писал(а):Еще есть такая фишка как слип, по крайней мере в задаче где один демон должен стартовать раньше это тоже работает
тока не со штатными скриптами.
там от него тока вред

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 10:51:04
gmn
И у меня возник вопрос по rcorder ...
Есть такой софт - zabbix.
Ему нужен MySQL. По умолчанию sql стартует после zabbix-сервера. В итоге zabbix-сервер не запускается :(
Добавил вручную в стартовый скрипт zabbix-сервера:

Код: Выделить всё

# REQUIRE: DAEMON [color=#FF0000]mysql[/color]
Работает.
Но при обновлении могу и забыть ведь :)
Можно ли как-то (каким образом) прописать зависимость гне-нибудь, типа в /etc/rc.conf ...

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 11:01:15
Alex Keda
можно тому, кто писал порт послать.
он включит в след. версии

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 11:05:28
gmn
так и думал :)
Но надеялся, что чужую глупость можно красиво обойти ...

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 11:06:44
Alex Keda
ну почему глупость сразу...
все ошибаются

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 11:15:59
gmn
ну не так выразился :)
Ошибку.

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 11:30:37
gmn
gmn писал(а):И у меня возник вопрос по rcorder ...
Есть такой софт - zabbix.
Ему нужен MySQL. По умолчанию sql стартует после zabbix-сервера. В итоге zabbix-сервер не запускается :(
Добавил вручную в стартовый скрипт zabbix-сервера:

Код: Выделить всё

# REQUIRE: DAEMON mysql
Работает.
Не работает :(
Выполняю "rcorder /etc/rc.d/* /usr/local/etc/rc.d/*" и вижу:
...
/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/zabbix_server
/usr/local/etc/rc.d/zabbix_agentd
...

А вот лог запуска при перезагрузке:

Код: Выделить всё

Sep 12 10:58:39 imonbsd root: /etc/rc: INFO: run_rc_command: _doit: su -m mysql -c 'sh -c "/usr/local/bin/mysqld_safe  --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=...  > /dev/null &"'
Sep 12 10:58:40 imonbsd root: /etc/rc: INFO: checkyesno: zabbix_server_enable is set to YES.
Sep 12 10:58:40 imonbsd root: /etc/rc: INFO: run_rc_command: _doit: /usr/local/bin/zabbix_server
В логе zabbix-сервера:

Код: Выделить всё

Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) [2002]
Получается, что стартует sql и сразу за ним zabbix.
Может добавить еще в скрипт zabbix-а что-то типа sleep ?

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 11:41:46
demondem10
Нет нуна дать ему несколько секунд пока mysql полностью поднимется поставь mysql выше перед первыми скриптами mysql-server >>

Код: Выделить всё

# before: squid
к примеру а ужо потом через 2-3 скрипта ниже свой zabix
и будет тебе счастье

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 12:04:07
gmn
Хмм ...
Это еще и стартовый скрипт mysql менять ..., если я правильно понял.

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 12:06:26
demondem10
можно только в нем и поменять - дописать, и все!

Re: КАК? Cтартовать скрипты в определенном порядке?

Добавлено: 2007-09-12 12:15:39
gmn
demondem10 писал(а):можно только в нем и поменять - дописать, и все!
в скрипте zabbix-а я и так дописал:

Код: Выделить всё

REQUIRE: DAEMON mysql
И sql стартует раньше, чем zabbix. Т.е. этого добился.
А если в стартовом скрипте sql-я допишу "before: zabbix_server" - то же самое, что и в стартовом скрипте заббикса "REQUIRE: DAEMON mysql".
Или я не прав?