Я поместил один скрипт в /etc/init.d/abc.sh
. Теперь я хочу, чтобы он запускался при запуске.
Как я могу сделать это с помощью chkconfig?
chkconfig --add abc.sh
Но я не уверен, как это работает.
Я часто просто использую
/etc/rc.local
Итак, как ...
echo "/etc/init.d/abc.sh" >> /etc/rc.local
должен взломать это для тебя. Возможно, есть более подходящие места, но, как бы то ни было, это работает, в большинстве дистрибутивов это кажется.
Скрипты, которые запускаются при запуске, не называются скриптами - если вы хотите, чтобы скрипт выполнялся при запуске, измените следующее в /etc/crontab
:
@reboot /path/to/script
Взгляните на другие существующие init-скрипты. В каждом надлежащем init-скрипте rh-стиля есть три подсказки: уровни выполнения, где должен запускаться скрипт, и приоритет, при котором он должен запускаться / останавливаться. Сумма start+stop должна быть обычно 100.
Эта строка комментария оценивается chkconfig.
Вы не можете, если вы не читаете /usr/share/doc/initscripts-*/sysvinitfiles
и соответственно структурируете свой скрипт.
Ты на правильном пути. Ваш bash-скрипт находится в правильном месте, и вы добавили его в ваш chkconfig, что означает, что ваш скрипт установлен.
Обратите внимание, что /etc/init.d
является символической ссылкой на /etc/rc.d/init.d
После добавления вашего скрипта вам нужно выбрать, на каком уровне запуска вы хотите его активировать: chkconfig --level 35 abc on
активирует ваш скрипт на уровнях запуска 3 и 5, ваших самых распространенных стартапах.
Пожалуйста, обратитесь к chkconfig --help
для получения дополнительной информации.
PS. Вы можете также использовать ntsysv
, который является туй для chkconfig.