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

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

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

Непрочитанное сообщение gmn » 2007-09-12 12:17:10

Решил проще.
Раз всеравно надо помнить, что стартовый скрипт править, то добавил sleep и помогло:

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

#!/bin/sh
# PROVIDE: zabbix_server
# REQUIRE: DAEMON mysql
# KEYWORD: shutdown

. /etc/rc.subr

name="zabbix_server"
rcvar=${name}_enable
load_rc_config $name
eval : \${${rcvar}='NO'}

/bin/sleep 3

command="/usr/local/bin/${name}"
required_files="/usr/local/etc/zabbix/${name}.conf"

run_rc_command "$1"

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
demondem10
сержант
Сообщения: 284
Зарегистрирован: 2007-07-10 11:00:10
Откуда: kazakhstan

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

Непрочитанное сообщение demondem10 » 2007-09-12 12:36:39

да прав. но тут хитрость в том чтобы мускул еще раньше поднимался а не перед забиксом сразу
Знания принадлежат человечеству!!!

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

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

Непрочитанное сообщение gmn » 2007-09-12 13:01:19

demondem10 писал(а):да прав. но тут хитрость в том чтобы мускул еще раньше поднимался а не перед забиксом сразу
Провел эксперимент.
Сделал так.
Скрипт zabbix-а:

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

#!/bin/sh
# PROVIDE: zabbix_server
# REQUIRE: DAEMON mysql
# KEYWORD: shutdown
Скрипт MySQL:

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

# PROVIDE: mysql
# REQUIRE: LOGIN
# KEYWORD: shutdown
# BEFORE: zabbix_server
Sleep в скрипте zabbix-а заремил.
И получил то, что и хотел доказать - не поможет изменение стартового скрипта mysql :)

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

673:20070912:130041 Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) [2002]
Последний раз редактировалось Alex Keda 2007-09-12 15:36:23, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Аватара пользователя
demondem10
сержант
Сообщения: 284
Зарегистрирован: 2007-07-10 11:00:10
Откуда: kazakhstan

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

Непрочитанное сообщение demondem10 » 2007-09-12 13:37:47

из Скрипт zabbix-а: убери
Знания принадлежат человечеству!!!

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

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

Непрочитанное сообщение gmn » 2007-09-12 15:36:26

demondem10 писал(а):из Скрипт zabbix-а: убери
Хорошо. Еще эксперимент.

Скрипт заббикса:

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

# PROVIDE: zabbix_server
# REQUIRE: DAEMON
# KEYWORD: shutdown
Скрипт мускула:

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

# PROVIDE: mysql
# REQUIRE: LOGIN
# KEYWORD: shutdown
# BEFORE: zabbix_server
reboot ...
И вижу:

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

678:20070912:153305 Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) [2002]
Вывод - не помогает.
Только sleep добавлять.
Последний раз редактировалось Alex Keda 2007-09-12 15:37:09, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Аватара пользователя
demondem10
сержант
Сообщения: 284
Зарегистрирован: 2007-07-10 11:00:10
Откуда: kazakhstan

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

Непрочитанное сообщение demondem10 » 2007-09-13 7:07:46

Я уже не знаю как тебе обьяснить поставь выше другова скрипта запуск мускула не перед забиксом ,
сколько ты его еще собираешся насиловать , он не успевает стартонуть!
к стати он у тебя просто ручками из /etc/rc.d/ ******* запускается нормально?
Знания принадлежат человечеству!!!

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

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

Непрочитанное сообщение gmn » 2007-09-13 8:41:02

demondem10 писал(а):Я уже не знаю как тебе обьяснить поставь выше другова скрипта запуск мускула не перед забиксом ,
сколько ты его еще собираешся насиловать , он не успевает стартонуть!
к стати он у тебя просто ручками из /etc/rc.d/ ******* запускается нормально?
ручками запускается нормально.
Как запуск мускула переместить еще выше?
Конкретный пример можно?

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

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

Непрочитанное сообщение f0s » 2007-09-18 14:57:01

уже месяц курю - но "непонятно" (с) :))

вот к примеру у меня sпри загрузке пишется nsswitch: could not seacrh ldap server, скорей всего это происходит из-за того, что slapd стартует позже nsswitch

я так понимаю, что мне нужно зайди в ee /usr/local/etc/rc.d/slapd

и там написать

#BEFORE nsswitch

однако это не помогает.. и вот что пишет rcorder:

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

[f0s@mail] /usr/local/etc/rc.d/> rcorder /usr/local/etc/rc.d/slapd
rcorder: file `/usr/local/etc/rc.d/slapd' is before unknown provision `nsswitch'
rcorder: requirement `/etc/rc.d/nsswitch' in file `/usr/local/etc/rc.d/slapd' has no providers.
rcorder: requirement `SERVERS' in file `/usr/local/etc/rc.d/slapd' has no providers.
rcorder: requirement `NETWORKING' in file `/usr/local/etc/rc.d/slapd' has no providers.
/usr/local/etc/rc.d/slapd
[f0s@mail] /usr/local/etc/rc.d/>
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

Аватара пользователя
weec
лейтенант
Сообщения: 948
Зарегистрирован: 2007-07-24 11:17:35
Откуда: Afghanistan
Контактная информация:

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

Непрочитанное сообщение weec » 2007-11-13 12:01:17

ну, что
решили траблу?

просьба к модерам: перенесите топик в раздел UNIX

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2007-11-13 12:36:21

executed
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-23 11:41:56

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

из возможных выходов пока вижу следующее:
1. отключить запуск верлихаба через системный демон
2. Прописать в крон юзверя верлихаба запуск демона на старт системы

ща попробую и отпишусь

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-23 11:49:06

гм... вот ещё один вариант появился

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

zg-hosting# rcorder  /etc/rc.d/** /usr/local/etc/rc.d/**
/etc/rc.d/dumpon
/etc/rc.d/initrandom
/etc/rc.d/geli
/etc/rc.d/gbde
/etc/rc.d/encswap
/etc/rc.d/ccd
/etc/rc.d/swap1
/etc/rc.d/mdconfig
/etc/rc.d/ramdisk
/etc/rc.d/early.sh
/etc/rc.d/fsck
/etc/rc.d/root
/etc/rc.d/mountcritlocal
/etc/rc.d/FILESYSTEMS
/etc/rc.d/var
/etc/rc.d/random
/etc/rc.d/adjkerntz
/etc/rc.d/atm1
/etc/rc.d/hostname
/etc/rc.d/ipfilter
/etc/rc.d/ipnat
/etc/rc.d/ipfs
/etc/rc.d/kldxref
/etc/rc.d/sppp
/etc/rc.d/addswap
/etc/rc.d/auto_linklocal
/etc/rc.d/sysctl
/etc/rc.d/serial
/etc/rc.d/pccard
/etc/rc.d/cleanvar
/etc/rc.d/netif
/etc/rc.d/ip6addrctl
/etc/rc.d/atm2
/etc/rc.d/pfsync
/etc/rc.d/pflog
/etc/rc.d/pf
/etc/rc.d/isdnd
/etc/rc.d/ppp
/etc/rc.d/routing
/etc/rc.d/ip6fw
/etc/rc.d/network_ipv6
/etc/rc.d/devd
/etc/rc.d/ipsec
/etc/rc.d/ipfw
/etc/rc.d/nsswitch
/etc/rc.d/resolv
/etc/rc.d/mroute6d
/etc/rc.d/route6d
/etc/rc.d/mrouted
/etc/rc.d/routed
/etc/rc.d/netoptions
/etc/rc.d/NETWORKING
/etc/rc.d/mountcritremote
/etc/rc.d/accounting
/etc/rc.d/ldconfig
/etc/rc.d/devfs
/etc/rc.d/ipmon
/etc/rc.d/mdconfig2
/etc/rc.d/ramdisk-own
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
/etc/rc.d/archdep
/etc/rc.d/abi
/etc/rc.d/SERVERS
/etc/rc.d/named
/etc/rc.d/ntpdate
/etc/rc.d/rpcbind
/etc/rc.d/nfsclient
/etc/rc.d/nisdomain
/etc/rc.d/ypserv
/etc/rc.d/ypbind
/etc/rc.d/amd
/etc/rc.d/atm3
/etc/rc.d/auditd
/etc/rc.d/tmp
/etc/rc.d/cleartmp
/etc/rc.d/dmesg
/etc/rc.d/ike
/etc/rc.d/ipxrouted
/etc/rc.d/kerberos
/etc/rc.d/kadmind
/etc/rc.d/keyserv
/etc/rc.d/kpasswdd
/etc/rc.d/quota
/etc/rc.d/nfsserver
/etc/rc.d/mountd
/etc/rc.d/nfsd
/etc/rc.d/statd
/etc/rc.d/lockd
/etc/rc.d/nfslocking
/etc/rc.d/pppoed
/etc/rc.d/pwcheck
/etc/rc.d/virecover
/etc/rc.d/DAEMON
/etc/rc.d/apm
/etc/rc.d/apmd
/etc/rc.d/bootparams
/etc/rc.d/hcsecd
/etc/rc.d/bthidd
/etc/rc.d/local
/etc/rc.d/lpd
/etc/rc.d/motd
/etc/rc.d/mountlate
/etc/rc.d/ntpd
/etc/rc.d/powerd
/etc/rc.d/rarpd
/etc/rc.d/rtadvd
/etc/rc.d/rwho
/etc/rc.d/sdpd
/etc/rc.d/timed
/etc/rc.d/ugidfw
/etc/rc.d/usbd
/etc/rc.d/yppasswdd
/etc/rc.d/LOGIN
/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/verlihub
/usr/local/etc/rc.d/snmptrapd
/usr/local/etc/rc.d/snmpd
/usr/local/etc/rc.d/htcacheclean
/usr/local/etc/rc.d/apache22
/etc/rc.d/ypxfrd
/etc/rc.d/ypupdated
/etc/rc.d/ypset
/etc/rc.d/wpa_supplicant
/etc/rc.d/watchdogd
/etc/rc.d/syscons
/etc/rc.d/sshd
/etc/rc.d/sendmail
/etc/rc.d/cron
/etc/rc.d/jail
/etc/rc.d/localpkg
/etc/rc.d/securelevel
/etc/rc.d/power_profile
/etc/rc.d/pcvt
/etc/rc.d/othermta
/etc/rc.d/natd
/etc/rc.d/msgs
/etc/rc.d/moused
/etc/rc.d/mixer
/etc/rc.d/inetd
/etc/rc.d/hostapd
/etc/rc.d/geli2
/etc/rc.d/ftpd
/etc/rc.d/dhclient
/etc/rc.d/bsnmpd
/etc/rc.d/bridge
/etc/rc.d/bluetooth
/etc/rc.d/bgfsck
zg-hosting#
Демон bgfsck стратует последним, поэтому в принципе пока стартуют остальные демоны, мускул вполне успеет стартануть...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-23 13:37:42

в общем первый вариант сработал без затыка, а второй проваилися (нет ключевого слова AFTER, а жаль...)

Итак, чтобы стартовать верлихаб после запуска системных демонов я сделал слудующее:
1. создал пользователя verlihub

2. настроил его на работу в его папку /home/verlihub, положил туда все конфиги и т.д.

3. Изменил загловок скрипта для демона /usr/local/etc/rc.d/verlihub (добавил секцию KEYWORD)

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

#!/bin/sh

# PROVIDE: verlihub
# REQUIRE: DAEMON mysql
# KEYWORD: nostart
таким образом демон не будет стартовать при запуске (переменную в конфиге rc.conf всё равно нужно прописывать!!!)

4. Добавил в крон пользователя verlihub такую строчку

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

@reboot /usr/local/etc/rc.d/verlihub start
5. Изменил пути для логов и пид-файла (скрипт запуска /usr/local/etc/rc.d/verlihub)

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

pidfile=/usr/home/verlihub/${name}.pid

logfile=/usr/home/verlihub/${name}.log
errfile=/usr/home/verlihub/${name}.err
Что получилось?

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

zg-hosting# crontab -u verlihub -l
@reboot /usr/local/etc/rc.d/verlihub start
zg-hosting# sockstat | grep verli
verlihub verlihub   909   3  stream -> /tmp/mysql.sock
verlihub verlihub   909   5  tcp4   *:4111                *:*
zg-hosting#
вот и всё :smile: следующим шагом я добавлю бота, который будет держать системную шару и точно так же запихну его в крон (а может просто создам стартовый сценарий, который будет сидеть в кроне). :smile:

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

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

Непрочитанное сообщение kozak » 2009-05-25 0:34:01

Тот же трабл. ((

BIND-DLZ + MYSQL

named запускается стразу же осле загрузки системы не дождавшись мускуля. В named.sh прописал скрипт

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

# Start MYSQL before BIND!

    if [ ! -f /var/run/mysqld.pid ];
        then
           echo First of all I must start MySQL!
           /usr/local/etc/rc.d/mysqld.sh start
           echo Checking MySQL ... STARTING
        sleep 1
       if [ ! -f /var/run/mysqld.pid ];
           then echo Checking MySQL ... START ERROR
            else echo Checking MySQL ... STARTED
      fi
    else echo Checking MySQL ... WORKING
    fi

для "насильного" запуска мускула.

но и такой вандальный подход не всегда проходит ((

Вот что происанов в хэдэре named.sh

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

# PROVIDE: named
# REQUIRE: SERVERS cleanvar
# REQUIRE: DAEMON mysql
# KEYWORD: shutdown
а это хэдэр mysqld.sh

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

# PROVIDE: mysql
# REQUIRE: LOGIN
# BEFORE: named
# KEYWORD: shutdown
Вроде все по МАНу, но... не р а б о т а т :st:

plz help! :pardon:
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

lutik
мл. сержант
Сообщения: 75
Зарегистрирован: 2007-04-24 13:56:23
Откуда: Odessa

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

Непрочитанное сообщение lutik » 2009-05-25 2:58:35

lissyara писал(а):ну почему глупость сразу...
все ошибаются
глупость глупость.

для таких случаев еще на заре развития техники вообще и цифровой/програмной в часности придумали ретраи.

всеравно когда сервер когда клиент стартуют.
клиент должен.. не.. не должен --> ОБЯЗАН сделать N'е кол-во попыток конекта к серверу с увеличивающейся паузой между попытками.
тогда никакие порядки старта не страшны.

и глупость - это как раз не следовать фундаментальному алгоритму, а, тупо, из-за лени полагатся на какие-то там rc кейворды.

ЗЫ: хотя в данном конкретном случае - вариант с rc-order самый правильный
Однако...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2009-05-25 9:38:09

lutik писал(а):клиент должен.. не.. не должен --> ОБЯЗАН сделать N'е кол-во попыток конекта к серверу с увеличивающейся паузой между попытками.
«.. и молодая не узнает какой у парня был коннект...» потому как сервера и сети будут лежать в великом ддосе.

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

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

Непрочитанное сообщение kozak » 2009-05-25 11:49:54

zg писал(а):
lutik писал(а):клиент должен.. не.. не должен --> ОБЯЗАН сделать N'е кол-во попыток конекта к серверу с увеличивающейся паузой между попытками.
«.. и молодая не узнает какой у парня был коннект...» потому как сервера и сети будут лежать в великом ддосе.
:ROFL:

Смех-смехом, а тема все-еще актуальна...((
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

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

Непрочитанное сообщение terminus » 2009-05-25 12:16:22

Я не понмю точно, но там случайно небыло так, что при запуске rcorder отрабатывает отдельно для /etc/rc.d и отдельно для /usr/local/etc/rc.d/ ?
Поэтому неполучиться запускать софт из портов раньше системного (named + MYSQL) ?

Поправьте пожалуйста если неправ...

---

по-ходу так и есть...

http://www.freebsd.org/cgi/man.cgi?quer ... .2-RELEASE

Operation of rc
1. If autobooting, set autoboot=yes and enable a flag (rc_fast=yes),
which prevents the rc.d/ scripts from performing the check for
already running processes (thus speeding up the boot process). This
rc_fast=yes speedup will not occur when rc is started up after exit-
ing the single-user shell.

2. Determine whether the system is booting diskless, and if so run the
/etc/rc.initdiskless script.

3. Source /etc/rc.subr to load various rc.subr(8) shell functions to
use.

4. Load the configuration files.

5. Determine if booting in a jail, and add ``nojail'' to the list of
KEYWORDS to skip in rcorder(8).

6. Invoke rcorder(8) to order the files in /etc/rc.d/ that do not have
a ``nostart'' KEYWORD (refer to rcorder(8)'s -s flag).

7. Call each script in turn using run_rc_script() (from rc.subr(8)),
which sets $1 to ``start'', and sources the script in a subshell.
If the script has a .sh suffix then it is sourced directly into the
current shell. Stop processing when the script that is the value of
the $early_late_divider has been run.

8. Re-run rcorder(8), this time including the scripts in the
$local_startup directories.
Ignore everything up to the
$early_late_divider, then start executing the scripts as described
above.

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

# grep local_start /etc/defaults/rc.conf
local_startup="/usr/local/etc/rc.d" # startup script dirs.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

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

Непрочитанное сообщение terminus » 2009-05-25 12:53:08

Мне вот это очень интересно стало! Еикто не в курсе почему BSDшники сделали раздельным запуск системных и пользовательских скриптов? Недопилили или реально есть причины?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2009-05-25 12:59:57

VladB писал(а):Смех-смехом, а тема все-еще актуальна...((
у мускуля есть определённая проблема — от старта демона до начала приёма коннектов проходит определённое время, и за это время успевает стартануть большенство других демонов и rcorder тут не поможет. В этом и есть косяк муси. Гарантированно запустить приложение после старта муси можно через крон или стартовый скрипт.
terminus писал(а):по-ходу так и есть...
а по-моему нет :pardon:

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

zg# grep -r rcorder /etc/
/etc/rc:files=`rcorder ${skip} /etc/rc.d/* 2>/dev/null`
/etc/rc:files=`rcorder ${skip} /etc/rc.d/* ${local_rc} 2>/dev/null`
/etc/rc.shutdown:rcorder_opts="-k shutdown"
/etc/rc.shutdown:[ `/sbin/sysctl -n security.jail.jailed` -eq 1 ] && rcorder_opts="$rcorder_opts -s nojail"
/etc/rc.shutdown:files=`rcorder ${rcorder_opts} /etc/rc.d/* ${local_rc} 2>/dev/null`
zg#

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2009-05-25 13:09:20

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

# Do a first pass to get everything up to $early_late_divider so that
# we can do a second pass that includes $local_startup directories
#
files=`rcorder ${skip} /etc/rc.d/* 2>/dev/null`

for _rc_elem in ${files}; do
        run_rc_script ${_rc_elem} ${_boot}

        case "$_rc_elem" in
        */${early_late_divider})        break ;;
        esac
done

unset files local_rc

# Now that disks are mounted, for each dir in $local_startup
# search for init scripts that use the new rc.d semantics.
#
case ${local_startup} in
[Nn][Oo] | '') ;;
*)      find_local_scripts_new ;;
esac

files=`rcorder ${skip} /etc/rc.d/* ${local_rc} 2>/dev/null`
_skip_early=1
for _rc_elem in ${files}; do
системные демоны могут два раза стартовать — первый раз для запуска служб ядра, типа монтирования, второй раз — вместе с локальными.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

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

Непрочитанное сообщение terminus » 2009-05-25 13:18:19

понятно. спасибо за пример :smile:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

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

Непрочитанное сообщение kozak » 2009-05-28 12:08:12

Проблема решена. Стартуем 1й раз для системы, второй - для демонов.
Спасибо.
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

tankistua
проходил мимо
Сообщения: 5
Зарегистрирован: 2008-08-30 13:21:12

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

Непрочитанное сообщение tankistua » 2013-11-11 21:49:15

если кому интересно - решил проблему просто, поставил monitord из портов. Проверяет раз в 15 секунд работу сервиса и стартует его, если сервис не запущен.

З.Ы. для работы нужна procfs, можно в ro.

brainiac
рядовой
Сообщения: 38
Зарегистрирован: 2011-05-10 14:59:08

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

Непрочитанное сообщение brainiac » 2013-11-23 16:56:57

zg писал(а):у мускуля есть определённая проблема — от старта демона до начала приёма коннектов проходит определённое время, и за это время успевает стартануть большенство других демонов и rcorder тут не поможет. В этом и есть косяк муси. Гарантированно запустить приложение после старта муси можно через крон или стартовый скрипт.
у меня такая же фигня на биллинге, мускл хоть и первый стартует, но те демоны что после него стартуют и от него зависят таки делают ретри пока тот просрется и начнет принимать подключнеия.