5

У меня есть скрипт на Ubuntu, который я помещаю в /etc/init.d. У него 0755 разрешений, и я могу запустить его вручную, как при выполнении, так и при поиске, с хорошими результатами. У меня есть символические ссылки в /etc/rc3.d и /etc/rc5.d, оба с именем S01raid, оба указывают на скрипт init.d. Однако, когда я перезагружаю машину, сценарий не запускается. Я не вижу установленный или даже работающий массив, а также не вижу работающий на выходе ps -A демон монитора

Что мне здесь не хватает?

содержание скрипта:

#!/bin/sh -e
modprobe raid5
mdadm --assemble --scan
mdadm --monitor --scan --daemonize --delay 120 --program /etc/mdadm/scram.sh
mount -t xfs /dev/md0 /mnt/

2 ответа2

2

"S01" означает, что он запускается довольно рано в процессе загрузки. Первое, что я хотел бы сделать, это убедиться, что нет вещей, которые нужно запустить в первую очередь, которые будут позже (имеют более высокие номера).

В моей системе Ubuntu sysklogd - это S10, а mdadm - это S25, так что, по крайней мере, сделайте его выше, чем тот, чтобы вы могли видеть, регистрирует ли он что-нибудь.

2

Я бы посоветовал вам следовать стандартным инструментам для запуска скрипта при запуске.

Посмотрите на этот ответ на похожий вопрос, где я перечислил шаги, которым нужно следовать. Кроме того, как уже упоминалось другим пользователем по этому вопросу, для целей тестирования я просто поместил бы команды в /etc/rc.local, перед "выходом 0".

Вы также должны убедиться, что все службы, от которых это зависит, уже запущены при запуске. Проверьте журналы в /var /log на наличие сообщений об ошибках.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .