Como faço para configurar um serviço?

19

Eu tenho um script que gostaria de executar como um serviço na minha caixa sem cabeça do Ubuntu Server 11.04. Ou seja, quero ter os arquivos corretos em /etc/init.d/ e poder controlá-lo através do servicecomando

Existe algum guia disponível que me mostre como fazer isso?

Kent Boogaart
fonte

Respostas:

14

A menos que você esteja usando o 15.04 ou qualquer versão posterior (que use systemd), provavelmente será melhor se transformar seu script em um trabalho Upstart, em vez de seguir os exemplos que você encontrará /etc/init.d/(que são scripts de inicialização no estilo System V, quais Ubuntu e outras distribuições estão se afastando).

O Upstart Cookbook possui uma enorme quantidade de informações sobre como os trabalhos do Upstart funcionam. Embora eu não o descreva como um HOWTO, se você combinar as informações lá com a pesquisa dos trabalhos do Ubuntu Upstart em estoque, /etc/init/você começará a entender.

Sugiro começar com as seções 4 e 5 do livro de receitas "Conceitos e terminologia" e "Configuração"

Mark Russell
fonte
10

Aqui está um exemplo muito simples de como criar um script inicial: https://wiki.frugalware.org/index.php/Upstart_Job_HOWTO

UPDATE: o link acima está quebrado. Aqui está um exemplo de um script:

description "My startup service"
author "You or someone else"
version "3.14"

pre-start script
    echo 'Starting my service ...'
end script

start on net-device-up
stop on runlevel [!2345]

console output

respawn

exec /path/to/your/custom/script

Adapte conforme necessário.

Você deve colocar o script em /etc/init/yourfilename.conf

Em seguida, recarregue a configuração com:

sudo initctl reload-configuration

E se estiver tudo bem, você poderá iniciá-lo com:

sudo start yourfilename
lenooh
fonte