Назад | Перейти на главную страницу

как изменить порядок запуска сценариев инициализации в SUSE 11

Я хочу запустить сервис в следующем порядке

mysql mongodb после перезагрузки

Я изменил сценарии инициализации сервисов mysql на

lrwxrwxrwx 1 root root  8 Sep  8 11:05 S30mysql -> ../mysql
lrwxrwxrwx 1 root root 10 Sep  8 11:05 S40mongodb -> ../mongodb

30 <40, поэтому служба mysql запускается до mongodb

mysql запускается правильно после перезагрузки, но не mongodb? это только в случае

SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 0

Как мне вообще выяснить, когда скрипт /etc/init.d/mongodb вызывается при перезагрузке?

Какие-либо другие шаги, которые мне не хватает?

То, что вы сделали, должно работать.
Вы проверяли системный журнал и / или журналы mongodb, чтобы узнать, есть ли там какая-нибудь подсказка?

Шаг 0. запустите "runlevel", чтобы убедиться, что вы находитесь в правильном каталоге rcX.d

Шаг 1. Проверить журнал mongodb

Шаг 2. Проверьте, работает ли "/etc/init.d/mongodb start" или нет

Шаг 3. Проверьте /var/log/boot.msg, чтобы убедиться, что ваш сценарий S40mongodb вызывается во время загрузки.

Заметка:

Сценарий /etc/init.d/rc отвечает за Sxxservice и Kxxservice, после запуска / остановки службы с помощью rc он печатает журналы.

346         blogger "$service start"
347         $link start; status=$?
348         echo -en "$rc_reset"
349         splashprogress "$service start"
350 
351         case "$status" in
352         [1-47])  failed="${failed:+$failed }$service"   ;;
353         [56])   skipped="${skipped:+$skipped }$service" ;;
354         0|*)    ;;
355         esac
356 
357         blogger "'$service start' exits with status $status"

Журналы можно найти в /var/log/boot.msg

<notice -- Aug 23 22:51:48.399483000> puppet start
Starting puppet services.
<notice -- Aug 23 22:51:48.462954000> startproc: execve (/usr/bin/puppet) [ /usr/bin/puppet agent --server=puppet.fleetboard.dmz --logdest=/var/log/puppet/puppet.log ], [ CONSOLE=/dev/console SELINUX_INIT=YES ROOTFS_FSTYPE=ext3 SHELL=/bin/
sh TERM=linux ROOTFS_FSCK=0 crashkernel=1 LC_ALL=POSIX INIT_VERSION=sysvinit-2.86 REDIRECT=/dev/tty1 COLUMNS=80
 PATH=/bin:/sbin:/usr/bin:/usr/sbin DO_CONFIRM= RUNLEVEL=3 PWD=/ SPLASHCFG= PREVLEVEL=N LINES=25 HOME=/ SHLVL=2 splash=silent SPLASH=no ROOTFS_BLKDEV=/dev/vg00/lvroot _=/sbin/startproc DAEMON=/usr/bin/puppet ]
done
<notice -- Aug 23 22:51:48.980495000> 'puppet start' exits with status 0

Если вы обнаружите, что у сценария mongodb есть проблемы, вы можете добавить следующие две строки в раздел «#! / Bin / bash» в /etc/init.d/mongodb, чтобы упростить отладку.

set -x
export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '