Проблемы с автозапуском в RHEL3

Тема в разделе "WASM.UNIX", создана пользователем Quantum, 8 янв 2008.

  1. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Поставил перед собой на первый взгляд простую задачу: чтоб при запуске RedHat (RHEL3 на VMware 6) автоматически запускалась база данных Oracle 9i вместе с listener'ом и чтоб при выполнении shutdown -h now это всё дело автоматически выгружалось по-хорошему, а не по killall.

    Наваял простенький скрипт OracleDB [start|stop] и поместил его в /etc/init.d

    Потом в соответствующие rc#.d подобавлял ссылки:

    rc0.d/K01OracleDB -> ../init.d/OracleDB
    rc1.d/K01OracleDB -> ../init.d/OracleDB
    rc2.d/K01OracleDB -> ../init.d/OracleDB
    rc3.d/S99OracleDB -> ../init.d/OracleDB
    rc4.d/K01OracleDB -> ../init.d/OracleDB
    rc5.d/K01OracleDB -> ../init.d/OracleDB
    rc6.d/K01OracleDB -> ../init.d/OracleDB

    Таким образом, при переходе в runlevel 3, в котором я обычно работаю через ssh клиент, должен запускаться мой скрипт с параметром start и должен запускаться самым последним, когда уже всё загружено, включая переменные окружения. Так и есть. Уже было обрадовался...

    Но при выключении машины командой shutdown почему-то не выполняется мой скрипт и Oracle, соответственно, не выгружается. В меню shutdown не видно строки "Stopping OracleDB.... [OK]" или вроде того. Потом я в самое начало скрипта добавил echo "la-la-la" >> somefile.log чтоб удостовериться. На старте в файл дописывается la-la-la, а при отключении - нет.

    Кажется, shutdown сперва прибивает все процессы, а потом уже выполняет halt, т.е. переходит в runlevel 0, что вполне логично, но как тогда сделать, чтоб мои СУБД выгружались самостоятельно? Другие же демоны как-то выгружаются...
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Quantum
    Ответ таится в вопросе : добавь ссылочку rc3.d/K99OracleDB -> ../init.d/OracleDB
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    valterg
    Не понял... Мне же нужно, чтоб при переключении в 3й рун-левел Оракул запускался, а не прибивался. Поэтому в ссылке указана буква S, а не K. А прибивать его нужно при выключении компа. Может, я что-то упустил?
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Quantum
    K и означает, что это скрипт для shutdown. Линукс - это сборище всевозможных разных стандартов.
    Не надо там логику искать. Параметры start и stop , видимо, уже потом взялись или были в каком-то
    клоне. Это попытка совместить два варианта ...
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    valterg
    Но ведь тогда он не будет запускать Оракл. Сейчас он по крайней мере запускается автоматически.
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Quantum
    Да неправильно сказал. Есть rc.0 и rc.6 - в папке 0 с буквой К - скрипты выполняемые
    при poweroff, в папке 6 - при reboot.
    А вот с буквой К в других папках нужны, когда выполняем init, т.е. на ходу переключаемся
    из 3 в 5 и наоборот. Хотя грубо говоря poweroff - это переход из текущего
    в состояние 0, а стало быть скрипт с буквой К должен тоже выполняться
    при закрытии(переходе) с командой 'stop'.
    А точнее - сходи на opennet и поищи там более подробно.
    =============================================
    Т.е. есть два варианта :
    две ссылки S*** и K*** на твой скрипт в папке rc.n
    или S*** в rc.n и K*** в rc.0 и rc.6