Как запустить скрипт при запуске 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
saravanakumar
источник
1
Будет ли он работать от имени пользователя root, если его поместить в cron?
Неизвестный Дев
2
Это блестящая идея! Это портативный и простой. Это не вредит багажнику. Это происходит после запуска системных модулей с точными правами пользователя .... В моем случае на centos 7 это будет "@reboot root / path / to / script"
Николас Геретин
2

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

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

Nils
источник
1

Вы не можете, если вы не читаете /usr/share/doc/initscripts-*/sysvinitfilesи не структурируете свой скрипт соответственно.

Игнасио Васкес-Абрамс
источник
1

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

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

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

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

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

Деяна
источник