Запуск команд при загрузке в 11.10

Поэтому я не совсем понимаю, как создать скрипт запуска на моем сервере Ubuntu 11.10. Я читал о init -скриптах, upstart -работах и ​​многом другом, но чем больше читаю, тем больше путаюсь.

Я пробовал различные руководства, но я просто не нашел никого, кто действительно работал.

Может кто-нибудь показать мне, как я создаю простой скрипт, который будет работать в 11.10?

4
задан 16 January 2012 в 21:52

2 ответа

Ответ Marty Fried содержит одну самую ценную информацию: Поваренная книга. Прочтение этого делает Вас более, чем способными записать Ваши init сценарии.

Однако смешивая с init.d, rc*.d, chkconfig и др., не то, что Вы хотите сделать. На Ubuntu (и другие дистрибутивы), они - просто остатки старого материала sysvinit, который много пакетов все еще используют или просто поддерживают по причинам прежней версии. ВЫ не НУЖДАЕТЕСЬ ИЛИ ХОТИТЕ ПОЙТИ ТУДА :-)

Самый простой из всех Новомодных сценариев запускается, демон (поместите его в/etc/init/mydaemon.conf):

exec /path/to/binary

Это - ВСЕ, в чем Вы нуждаетесь. Это заставляет Выскочку выполнить демона, когда Вы делаете start mydaemon.

Хорошо, Вы хотите, чтобы это запустилось автоматически? Обычно, запуск после dbus является логическим выбором, поэтому позволяет, делают это:

start on started dbus
stop on stopping dbus
exec /path/to/binary

Этот простой сценарий запускает Вашего демона каждый раз, когда dbus запустился и остановит его незадолго до dbus остановки.

Вы хотите, чтобы это повторно метало икру (повторно запускаются), если это отказывает? Без проблем, просто добавьте respawn на его собственной строке в файл.

Ваши ветвления демона или сам daemonizes? Хорошо позволяет, ловят его, тем не менее! Добавить expect fork в случае единственного ветвления, или expect daemon в случае истинного (двойное ветвление) daemonization.

Позволяет суммируют простой сценарий запуска для Вашего демона:

author "Your name goes here - optional"
description "What your daemon does shortly - optional"

start on started dbus
stop on stopping dbus

# console output  # if you want daemon to spit its output to console... ick
respawn # it will respawn if crashed/killed

exec /path/to/binary

В случае, если Вы не хотите выполнять демона, но просто ряд команд, позволяет, забывают exec строка и добавляет раздел сценария:

script
   echo "Hello world!"
end script

Это заставляет Выскочку запустить скрипт вместо демона. Раздел сценария является просто нормальным сценарием оболочки, таким образом, можно сделать в значительной степени что-либо, что Вы хотите в нем.

Надежда это помогает. Придерживайтесь Новомодных конфигурационных файлов и не смешивайте с наследием sysv, и Вы сохраните нормальными :-)

8
ответ дан 16 January 2012 в 21:52

Похоже, вы были на правильном пути. Некоторая путаница может возникнуть из-за того, что Ubuntu использует Upstart вместо традиционной системы инициализации Linux, но все еще поддерживает старые методы. Так что вы можете увидеть устаревшие методы, которые все еще работают.

Я не эксперт, и я также не уверен, где вы заблудились, но читали ли вы информацию здесь: http://upstart.ubuntu.com/cookbook/

В / etc есть много примеров, чтобы посмотреть. Я думаю, что настоящие сценарии находятся в / etc / init со ссылками в различных каталогах, таких как rc0.d, rc1.d и выше. Это зависит от того, на каких уровнях запуска вы хотите, чтобы ваш скрипт запускался. Кажется, я помню, что Ubuntu на самом деле не использует много уровней запуска, поэтому вы можете увидеть много дубликатов или неиспользуемых ссылок.

Также имейте в виду, что для запуска и остановки используются одни и те же сценарии.

0
ответ дан 16 January 2012 в 21:52

Другие вопросы по тегам:

Похожие вопросы: