Назад | Перейти на главную страницу

Как я могу создать сценарий запуска (linux) для загрузки всех моих программ (демонов) при запуске?

Например, мне нужно, чтобы при запуске выполнялся следующий сценарий

service httpd start
service mysqld start
service sshd start
service pure-ftpd start
/usr/local/bin/noip2 start

Я НЕ хочу создавать псевдонимы в папке init.d для каждой программы. Скорее, могу ли я сделать один текстовый файл, чтобы все они вызывались. Это было бы намного проще. Спасибо!

Для запуска служб te не нужен сценарий. В дистрибутивах на основе RedHat (которые, похоже, вы используете) выполните следующее:

chkconfig servicename on

Автоматически создаст символические ссылки для запуска для соответствующих уровней выполнения (в данном случае (от 3 до 5). В дистрибутивах на основе debian вы бы сделали

update-rc.d servicename defaults

Сделать то же самое. Фактически, вы также можете изменить порядок своих стартовых приоритетов с помощью этого инструмента:

update-rc.d servicename defaults 91

С выскочкой (это то, что использует текущая версия Ubuntu и к чему переходит Red Hat), вы даже можете добавить зависимости, чтобы один процесс запускался только после того, как определенная служба будет запущена. Больше информации здесь:

http://upstart.ubuntu.com/

В любом случае, если вы не хотите использовать любой из этих механизмов, вы всегда можете использовать /etc/rc.local для запуска ваших скриптов. Если нет очень веской причины, просто работайте с инструментами, которые уже предоставлены вашим дистрибутивом - это, скорее всего, лучше, чем то, что вы можете придумать.

Создайте сценарий с вашими командами, а затем добавьте задание cron с @reboot следующим образом:

crontab -e

@reboot / путь / к / скрипту

Вы можете добавить эти строки в /etc/rc.local. Обратите внимание, что он запускается как «root».

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

Помечено для перехода к ошибке сервера.

Создайте сценарий bash, содержащий эти команды, и поместите его в каталог /etc/init.d/.

Допустим, вы назвали это FOO. Затем вы бежите

% update-rc.d FOO defaults

Вы также должны сделать файл, который вы создали, FOO, исполняемым, используя

$chmod +x FOO

http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

http://floppix.ccai.com/scripts1.html