Seu arquivo de configuração upstart não possui uma seção exec
ou script
, e você parece querer iniciar as coisas apenas com o comando pre-start, o que não é correto. Pela documentação inicial ( link ):
Todos os arquivos de trabalho devem ter uma sub-rotina exec ou script. este especifica o que será executado para o trabalho.
O código de shell adicional pode ser fornecido para ser executado antes ou depois da binário ou script especificado com exec ou script. Estes não são esperados para iniciar o processo, na verdade, eles não podem. Eles são destinados para preparando o ambiente e limpando depois.
Além disso, o que sua tarefa original solicita ("Nenhum serviço de longa duração / daemon é iniciado, apenas ações de curto prazo") parece contradizer o fato de que seu script.sh
tem as ações start
e stop
, o que faz sugerir um daemon de longa duração.
description "test script"
start on local-filesystems or runlevel [2345]
stop on runlevel [!2345]
task
# Assuming script.sh start starts, performs a process, and then exits,
# this should work
exec /full/path/to/script.sh start
# No need for a pre-stop
O documento inicial que eu criei é supostamente obsoleto, você também pode dar uma olhada no link que é uma boa referência e tem exemplos úteis, então sugiro que você leia se as coisas ainda não estiverem claras.