A resposta de Marty Fried contém a informação mais valiosa: o Cookbook . Leitura através que faz você mais do que capaz de escrever seus scripts de inicialização.
No entanto, mexer com init.d, rc * .d, chkconfig et al, não é o que você deseja fazer. No Ubuntu (e outras distros), eles são apenas restos do material sysvinit antigo que muitos pacotes ainda usam ou apenas suportam por motivos legados. VOCÊ NÃO PRECISA OU QUER IR LÁ: -)
O mais simples de todos os scripts do Upstart é iniciar um daemon (colocar em /etc/init/mydaemon.conf):
exec /path/to/binary
Isso é tudo que você precisa. Isso faz com que o Upstart rode o daemon quando você faz start mydaemon
.
OK, você quer começar automaticamente? Normalmente, iniciar após o dbus é uma escolha lógica, então vamos fazer isso:
start on started dbus
stop on stopping dbus
exec /path/to/binary
Este script simples inicia seu daemon sempre que o dbus foi iniciado e irá pará-lo antes que o dbus pare.
Você quer que ele reabra (reinicie) se ele falhar? Não tem problema, basta adicionar respawn
em sua própria linha ao arquivo.
Seu daemon se bifurca ou se daemoniza? Bem, vamos pegá-lo, no entanto! Adicione expect fork
no caso de um único fork ou expect daemon
no caso de daemonização true (double fork).
Vamos resumir um script de inicialização simples para o seu daemon:
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
Caso você não queira executar um daemon, mas apenas uma série de comandos, esqueça a linha exec
e adicione uma seção de script:
script
echo "Hello world!"
end script
Isso faz com que o Upstart execute o script em vez do daemon. A seção de script é apenas um script de shell normal, então você pode fazer praticamente qualquer coisa que quiser dentro dela.
Espero que ajude. Atenha-se aos arquivos de configuração do Upstart e não mexa no sistema legado e mantenha-se são: -)