Inicializando o Amazon Linux AMI de maneira simples

2

Eu quero executar um programa python (um loop while infinito como ouvinte interno) quando minha instância (Amazon Linux AMI) for inicializada. Eu criei um script de shell simples como este:

#!/bin/sh
python bootstrap.py > bootstrap.log

Em seguida, adicionei o nome desse script run_service.sh no meu /etc/rc.local para ser executado toda vez que a instância é inicializada. Mas esta abordagem simples parece não estar funcionando, nada acontece. Tanto o meu script de shell quanto o arquivo python estão na pasta /home/ec2-user . Preciso especificar o caminho completo no rc.local e no shell script para execução?

Encontrei o Amazon Linux AMI é baseado no CentOS / Fedora, não no Ubuntu. A opção cloud-init não parece tão clara, já que preciso fazer com que essa instância seja incluída em uma AMI personalizada.

Então, como posso fazer isso evitando configurações complexas, como fantoches / chefs, etc, de uma maneira muito simples? Por exemplo, onde colocar meu arquivo python e o script run_service.sh ? Por favor, me dê um exemplo simples.

    
por TJ974 06.11.2012 / 08:50

1 resposta

2

Você provavelmente precisará fornecer caminhos completos para o script e os arquivos que está usando

#!/bin/sh
python /home/ec2-user/bootstrap.py &>/home/ec2-user/bootstrap.log

(você pode precisar de / usr / bin / python)

e em rc.local

/home/ec2-user/run_service.sh 2>/tmp/myservicestart.log

Verifique também se o run_service.sh é executável.

    
por 06.11.2012 / 08:58