IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   Автозапуск в FreeBSD (http://www.imho.ws/showthread.php?t=53231)

MoHaX 09.03.2004 06:06

Автозапуск в FreeBSD
 
Такая проблема, не стартуют скрипты из /usr/local/etc/rc.d/ Права на чтение и выполнение стоят для всех (хозяин, группа и все остальные). Чего ему надо?

dr-evil 09.03.2004 08:18

runlevel проверь

MoHaX 09.03.2004 08:34

Не понял, какой runlevel? Этоже не линукс... Может я и гоню конечно, но вроде нету во фрхе ранлевелов (в 4 ветке по крайней мере)... :confused:

MBear 09.03.2004 10:31

/etc/defaults/rc.conf проверь, есть там
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" ?

MoHaX 09.03.2004 10:50

MBear
Это я написал сразу, изучил весь rc.conf в /etc/defaults, тока я написал local_startup="/usr/local/etc/rc.d".
Но это вроде необязательный параметр, у меня на freeBSD 4.4 всё и без этого работает....

MBear 10.03.2004 09:38

как насчет этого?
Scripts are only executed if their basename(1) matches the shell
globbing pattern *.sh, and they are executable. Any other files or
directories present within the directory are silently ignored.

MoHaX 10.03.2004 10:42

MBear
Понял, проверю.

MoHaX 11.03.2004 06:02

MBear
Так он и есть. Фруха выполняет тока файлы типа *.sh. Спасибо. :yees:

h2lord 09.04.2004 15:23

Как вариант можешь стартовать скрипты из /etc/rc.local

Добавлено через 1 минуту:
Цитата:

Первоначальное сообщение от MoHaX
MBear
Так он и есть. Фруха выполняет тока файлы типа *.sh. Спасибо. :yees:

Она еще стартует их в алфавитном порядке, и если один скрипт должен стартовать после например загрузки mysql то соответсвенно давай ему нужное имя

Step2 31.05.2007 15:17

автозагрузка в FreeBSD 5.4
 
Имеется FreeBSD 5.4 и программа mailgraph. В /usr/local/etc/rc.d/ стартовый скрипт есть, команды start/stop/restart он выполняет. Но при перезагрузке компа почему-то не удаляется соответствующий pid и программа естественно не стартует. если ручками сделать stop - матерится что нет процесса, указанного в pid и pid удаляется. В каком месте копать?

da Chaos 01.06.2007 14:40

rc.shutdown ?

hizel 02.06.2007 03:16

смотреть в mailgraph.sh,в то место где где pid должен быть, в список процессов
по идее путь к pid в скрипте и в опциях запущенного процеса должны быть одинаковыми.

Step2 04.06.2007 07:27

Цитата:

Сообщение от da Chaos (Сообщение 1416864)
rc.shutdown ?

Я может и не прав, но rc.shutdown выполняется при выключении компа? Т.е. если .pid удаляются в нем, то при аварийном выключении (пропадание питания) все .pid остаются на месте и при включении ничего не стартует? :)

добавлено через 4 минуты
Цитата:

Сообщение от hizel (Сообщение 1417128)
смотреть в mailgraph.sh,в то место где где pid должен быть, в список процессов
по идее путь к pid в скрипте и в опциях запущенного процеса должны быть одинаковыми.

Там все нормально, mailgraph.sh restart отрабатывает правильно - процесс убивается, pid удаляется, процесс стартует и новый pid создается. Объясните мне дураку процесс запуска FreeBSD. Каким образом при старте убиваются старые pidы?

rserg 04.06.2007 18:10

ну можно попробовать в скрипт добавить что-то типа этого, если этот скрипт

case "$1" in
'start')
echo "Starting mail statistics grapher: mailgraph";
rm -f $PID_FILE
nice -19 $MAILGRAPH_PL -l $MAIL_LOG -d \
--daemon-pid=$PID_FILE --daemon-rrd=$RRD_DIR
;;

da Chaos 04.06.2007 18:15

Цитата:

Сообщение от Step2 (Сообщение 1417871)
c.shutdown выполняется при выключении компа? Т.е. если .pid удаляются в нем, то при аварийном выключении (пропадание питания) все .pid остаются на месте и при включении ничего не стартует?

да

Цитата:

Сообщение от Step2 (Сообщение 1417871)
Объясните мне дураку процесс запуска FreeBSD. Каким образом при старте убиваются старые pidы?

старые pid`s убиваются не при старте а при shutdown. за это как раз и отвечает rc.shutdown.


Цитата:

Сообщение от Step2 (Сообщение 1417871)
Но при перезагрузке компа почему-то не удаляется соответствующий pid и программа естественно не стартует. если ручками сделать stop - матерится что нет процесса, указанного в pid и pid удаляется.

если script restart после аварийного выключения помогает то посмотри как в restart) блоке это все сделано и скопируй в start) блок.

rserg 05.06.2007 11:58

Цитата:

Сообщение от da Chaos (Сообщение 1418223)
если script restart после аварийного выключения помогает то посмотри как в restart) блоке это все сделано и скопируй в start) блок.

а разве рестарт это не два действия - стоп и старт??

da Chaos 05.06.2007 13:49

угу. сначала пойдет часть стоп блока, которая потрет у тебя пид. потом спокойненько пойдет себе старт. возможно мой предыдущий пост несколько сумбурен. обьясню что имелось ввиду :
Код:

        if [ -f $PID_FILE ]; then
                kill `cat $PID_FILE`
                rm $PID_FILE

^^^^^^^^^^ вот это тебе нада засунуть в старт блок
будет что нибудь типа такого :
Код:

case "$1" in
'start')
        if [ -f $PID_FILE ]; then
                kill `cat $PID_FILE`
                rm $PID_FILE
        else
                echo "Starting mail statistics grapher: mailgraph";
                nice -19 $MAILGRAPH_PL -l $MAIL_LOG -d \
                        --daemon-pid=$PID_FILE --daemon-rrd=$RRD_DIR
        fi
        ;;

ps. код взят из mailgraph-init пакета mailgraph-1.13

Step2 06.06.2007 07:02

У меня создалось стойкое ощущение, что проблема связана с правами доступа. Пока я в mailgraph.sh не убрал строки с юзером и группой, он вообще не работал. Сейчас когда я его пинаю вручную, он выполняется под рутом и все естественно работает :) И вообще, в результате всех экспериментов майлграф у меня сдох :) Буду реанимировать...

ftpd 12.06.2007 02:09

скрипт в студию, если проблема актуальна.

Heo 12.06.2007 02:27

Цитата:

Сообщение от Step2 (Сообщение 1419030)
он выполняется под рутом

Не рекоммендуется запускать демонов под рутом.


Часовой пояс GMT +4, время: 13:36.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.