EC2 linux todo e qualquer trabalho inicial que retorne "serviço não reconhecido"

15

Tendo um pesadelo ao migrar alguns trabalhos iniciantes do Ubuntu para o EC2 Linux (ElasticBeanstalk)

Não consigo obter nem a tarefa mais básica para o trabalho. Estou usando o script abaixo, que funciona perfeitamente no Ubuntu, mas retorna o "serviço não reconhecido" muito inútil quando tento iniciá-lo no EC2 Linux. Eu li que isso geralmente é um erro de sintaxe, mas isso não acontece se estiver sintaticamente OK para o Ubuntu. Qualquer ajuda apreciada massivamente, eu só preciso de qualquer exemplo de trabalho.

Isso está no /etc/init/test.conf criado como usuário root.

Console:

# sudo service test start
# test: unrecognized service

/etc/init/test.conf:

description "test"

start on startup

script
  echo $(ping -c 1 serverfault.com) > /var/log/testjob.log
end script
Mike Miller
fonte

Respostas:

12

Então, por algum motivo, o initctl gosta e o serviço não ...

sudo initctl start test
test start/running, process 8776

Um bug no EC2 Linux me pensa. Meu exemplo está exatamente de acordo com a documentação, mas não é necessário mudar para o uso do initctl

Se você deseja verificar quais serviços estão em execução, também pode fazer o seguinte:

sudo initctl list

E para verificar onde o erro de log leu o arquivo /var/log/messages

Mike Miller
fonte
Talvez eu devesse ter procurado para esta resposta antes de passar um dia tentando corrigi-lo eu mesmo, e, em seguida, tentar instalar daemontools ........
Asfand Qazi
1

Se você estiver usando o AWS Linux AMI em vez do Ubuntu, use:

start on started network
Optichip
fonte
Aprecie a sugestão, mas sem alegria. Ainda me dando o erro "serviço não reconhecido" #
Mike Miller
que AMI você está usando?
Optichip
O mais recente EC2 Linux - seja o que for que a Amazon faça com os aplicativos ElasticBeanstalk. Obrigado pela sua ajuda, encontrei uma resposta postada abaixo #
Mike Miller
Ótimo, vou manter isso em mente também.
Optichip
Na sequência da sua sugestão que eu acho que o equivalente elasticbeanstalk seriastart on started elastic-network-interfaces
Mike Miller
0

Com o inicio, a sintaxe deve ser sudo start teste sudo stop test, em vez da sintaxe "service" usada pelo sistema init.d.

conceder
fonte
Amazon Linux utiliza uma versão antiga do Upstart, que não reconhece postos de trabalho em / etc / init
Asfand Qazi