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.
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
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.
Idéias aleatórias se você tiver problemas com sua abordagem atual:
Jogue os comandos no fundo:
(sleep +55m; shutdown -h now) &
Diga ao encerramento para agendá-lo por 55 minutos no futuro e jogá-lo em segundo plano:
shutdown -h +55 &
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.
Tags upstart amazon-ec2 shutdown