Criando um switch “deadman” usando o Ubuntu para encerrar a instância do EC2

3

Eu montei um simples "switch deadman" usando o upstart para desligar automaticamente minhas instâncias do EC2 após um período de tempo. Eu estou fazendo isso para evitar o temível blues de segunda-feira de manhã, quando você percebeu que deixou uma instância funcionando durante todo o final de semana (e sim, eu poderia usar o cloud watch, mas estava esperando por uma solução muito simples e fácil). p>

A minha pergunta é que vou me deparar com algum problema se o meu script inicial for simples:

sleep +55m
shutdown -h now

Estou preocupado que, quando o desligamento mudar os níveis de execução, ele possa ter algumas conseqüências negativas quando chegar ao processo inicial que está executando o desligamento em si.

Obrigado

    
por JoeS 15.06.2013 / 00:26

2 respostas

1

shutdown -h now é um comando sem bloqueio, portanto, não há problema, pois o job sai logo após ter emitido o pedido de desligamento para o kernel.

    
por Tuminoid 18.06.2013 / 09:40
0

Idéias aleatórias se você tiver problemas com sua abordagem atual:

  1. Jogue os comandos no fundo:

    (sleep +55m; shutdown -h now) &
    
  2. Diga ao encerramento para agendá-lo por 55 minutos no futuro e jogá-lo em segundo plano:

    shutdown -h +55 &
    
  3. Use "at" para agendar a ação:

    echo "shutdown -h now" | at now +55min
    

NOTA: Para uma instância EC2 de inicialização do EBS, a ação padrão de "desligamento" é simplesmente "parar" a instância. Se você quiser "encerrar" a instância, será necessário definir o comportamento de encerramento iniciado pela instância para "terminar".

Na linha de comando ec2-run-instances, isso pode ser feito com a opção:

--instance-initiated-shutdown-behavior terminate

O console da AWS tem opções semelhantes.

    
por Eric Hammond 15.06.2013 / 01:02