2016-07-03 4 views
0

EC2 인스턴스가 패키지 설치를 시작하고 코드를 가져온 다음 며칠 동안 실행될 수있는 장기 실행 태스크를 시작할 때 내 cloud-init 시작 스크립트를 사용합니다 :EC2 cloud-init 시작 스크립트를 사용하여 장기 실행 작업 수행

su - username -c 'python /path/script.py' 

스크립트가이 줄에서 며칠 동안 멈춘 채로 있으면이 문제가 cloud-init에 발생합니까? 그렇다면 클라우드 초기화 스크립트가 종료되도록 허용하면서 스크립트를 실행하는 가장 좋은 방법은 무엇입니까?

답변

0

몇 시간 동안 cloud-init 스크립트를 실행하는 것은 문제가되지 않았습니다. AWS는 몇 시간 후에 종료되지 않은 클라우드 초기화 스크립트를 제거 할 수있는 메커니즘을 갖고 있지 않습니다.

0

클라우드 초기화 스크립트가 종료되도록 허용하면서 스크립트를 실행하는 가장 좋은 방법은 무엇입니까?

'at'명령을 사용합니다.

echo "python /path/script.py"|at now +3 minutes 

스크립트는 명령 후 3 분 안에 실행되며, 클라우드 init 스크립트는 script.py을 기다리지 않고 계속 실행됩니다.

su에 문제가있을 수 있으므로 허용되는 경우 루트에서 스크립트를 실행하는 것이 더 간단 할 것입니다.