Как запустить скрипт при запуске CentOS Linux


13

Я вставил один скрипт /etc/init.d/abc.sh. Теперь я хочу, чтобы он запускался при запуске.

Как я могу сделать это с помощью chkconfig?

chkconfig --add abc.sh

Но я не уверен, как это работает.


Там старая , но все еще полезная статья на linuxjournal.com/article/4445
RedGrittyBrick

Ответы:


8

Я часто просто использую

/etc/rc.local

Итак, как ...

echo "/etc/init.d/abc.sh" >> /etc/rc.local

должен взломать это для тебя. Возможно, есть и более подходящие места, но, как бы то ни было, это работает, в большинстве дистрибутивов это кажется.


этот сценарий является демоном, и у меня естьabc start stop restart configurd
Mirage

Возможно, вы хотите позвонить, введя «service abc start»
Джеймс Т Снелл

8

Сценарии, запускаемые при запуске, не называются сценариями - если вы хотите, чтобы сценарий выполнялся при запуске, измените следующее в /etc/crontab:

@reboot /path/to/script

1
Будет ли он работать от имени пользователя root, если его поместить в cron?
Неизвестный Дев

2
Это блестящая идея! Это портативный и простой. Это не вредит багажнику. Это происходит после запуска системных модулей с точными правами пользователя .... В моем случае на centos 7 это будет "@reboot root / path / to / script"
Николас Геретин

2

Взгляните на другие существующие init-скрипты. В каждом надлежащем init-скрипте rh-стиля есть три подсказки: уровни выполнения, где должен запускаться скрипт, и приоритет, при котором он должен запускаться / останавливаться. Сумма start + stop должна быть обычно 100.

Эта строка комментария оценивается chkconfig.



1

Ты на правильном пути. Ваш bash-скрипт находится в правильном месте, и вы добавили его в ваш chkconfig, что означает, что ваш скрипт установлен.

Обратите внимание, что /etc/init.dэто символическая ссылка на/etc/rc.d/init.d

После добавления вашего скрипта вам нужно выбрать, на каком уровне запуска вы хотите его активировать: chkconfig --level 35 abc onактивирует ваш скрипт на уровнях запуска 3 и 5, ваших самых распространенных стартапах.

Пожалуйста, обратитесь chkconfig --helpза дополнительной информацией.

PS. Вы также можете использовать, ntsysvкоторый является туи для chkconfig.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.