Пользовательские скрипты в /etc/profile.d и /etc/init.d - rhel6 и rhel7

Пользовательские скрипты в /etc/profile.d и /etc/init.d - rhel6 и rhel7

Мне нужно запустить мой скрипт во время загрузки. Я читал, что скрипты в /etc/init.d и /etc/profile.d запускаются во время запуска системы. Насколько отличаются эти каталоги?

Помимо двух вышеописанных способов, похоже, мы также можем настроить cron для запуска службы с помощью записи типа @reboot /path/to script.

Предложите, пожалуйста, правильный/эффективный способ выполнения скрипта во время запуска системы.

решение1

/etc/profile.dявляется специфичным для поставщика средством настройки среды сеанса оболочки (настройки PATHи т. д.) и обычно не связан с запуском демона; некоторые даже утверждают, что запуск демона никоим образом не должен включать /etc/profile.d, чтобы пользовательские настройки оболочки не могли привести к сбою загрузки демона или загрузке с неправильными настройками среды (часовой пояс, локаль и т. д.).

/etc/init.dявляется частью системы инициализации SystemV, реализованной в Linux (Digital UNIX, напротив, поместил ее в /sbin/init.d); можно написать правильный сценарий инициализации (изучите существующие сценарии, чтобы увидеть, как это правильно сделать), который запустит ваш демон. Это обеспечит вам совместимость как с RHEL6, так и с RHEL7.

Задание @rebootcron может запустить ваш демон, хотя systemdв RHEL7 оно предлагает лучшие функции управления, чем функция «запустил и забыл» из cron (что произойдет, если демон выйдет из строя? следует ли его перезапускать автоматически? насколько плохо будет, если будет запущено несколько экземпляров? если плохо, то какой тип блокировки потребуется для запуска только одного экземпляра?).

Связанный контент