Adicionei um novo script /etc/init/
chamado chamado minecraft.conf
que contém o script:
start on startup
stop on shutdown
respawn
respawn limit 20 5
script
export HOME="/root"
exec /root/minecraft/start.sh 2>&1 >> /var/log/minecraft.log
end script
post-start script
echo "minecraft started"
Quando tento start minecraft
, recebo o erro:start: Unknown job: minecraft
Eu tentei correr initctl list
e meu trabalho no minecraft não está listado. Eu tentei correr initctl reload-configuration
e não faz nenhuma diferença.
Outros trabalhos listados por initctl list
funcionam bem com iniciar, parar e reiniciar.
Por que o iniciante não vê meu novo script?
/etc/init.d/
?/etc/init
Quando estiver feliz, coloque os arquivos e agora você está pronto para reiniciar e usar o inicializador".sudo start minecraft
sem problemas. Aqui está o conteúdo do arquivo de log~$ sudo cat /var/log/upstart/minecraft.log minecraft started /proc/self/fd/9: 3: exec: /root/minecraft/start.sh: not found minecraft started
Você pode fornecer mais detalhes sobre a versão do Ubuntu que você está usando e qualquer informação útil do syslog?Respostas:
Verifique os logs iniciais (está dentro
/var/log/syslog
) enquanto recarrega a configuração usandoinitctl reload-configuration
. Se houver um erro de sintaxe, ele será exibido lá. Geralmente, é por isso que você não pode usar sua nova configuração inicial.fonte
Uma maneira fácil de verificar sua sintaxe de script é com o seguinte comando:
Descobri que, mesmo com um arquivo Upstart válido, se o arquivo não existisse quando o servidor foi inicializado pela última vez, preciso reiniciar o servidor para que o Upstart o veja.
fonte
Eu me sinto meio idiota ... Mas aqui está:
Perdi a estrofe "script final" desde o final do script inicial ...
deveria ter ficado
Mas não sei por que funcionou para @schkovich sem o
end script
...fonte
No meu caso, era um
author
campo vazio , assim:Funcionou apenas depois de adicionar algo entre aspas.
também estava lançando
/etc/init/servicename.conf:2: Expected token
no syslog em vez de stdout . Muito ocupado para registrar um relatório de bug para um pacote que está morrendo.fonte
Talvez não seja aplicável a isso especificamente, mas vale a pena mencionar: Se você editar um arquivo de configuração do Upstart para um serviço em execução, a execução
restart
NÃO recarregará a configuração. Você precisa executarstop
estart
que novas alterações entrem em vigor.http://upstart.ubuntu.com/cookbook/#restart
fonte