2012-09-02 2 views
0

클라우드 초기화가 처음인데 궁극적 인 목표는 EC2 스팟 인스턴스가 활성화 될 때마다 R 스크립트를 실행하는 것입니다.하지만 테스트를 위해 주문형 Ubuntu 12.04 인스턴스를 만들고 간단한 스크립트를 만들었지 만 재부팅 후에는 아무 일도 일어나지 않습니다. 여기에 내가 찍은 단계는 다음과 같습니다 Cloud-init마다 부팅하지 않는 스크립트

#!/bin/sh
echo "test"

  • sudo reboot
  • :

    • /var/lib/cloud/scripts/per-boot
    • sudo vi script.sh
    • 추가 된 새 Ubunut 12.04 예에게 다음 코드를
    • 이동 출시

    이 시점에서 나는 인스턴스가 재부팅 될 때 "테스트"인쇄본을보아야한다고 생각했지만 아무 것도 없습니다. 나는 /var/log/cloud-init.log을 보러 갔지만 아무런 오류가 없거나 평범하지 않습니다.

    분명히 뭔가 빠져있어서 올바른 방향으로 팁을 주시면 감사하겠습니다.

    감사합니다.

+0

마침내'rc.local'을 사용하여이 작업을 수행했습니다.이 스크립트는 왜 스크립트가로드되지 않는지 아직 알지 못하기 때문에 원래 질문에 대답하지 않지만 내 상황과 동일한 상황에있는 누군가를 도울 수 있습니다. – JordanBelf

답변

1

스크립트 사용자가 항상 실행되도록 설정하지 않으면 실행되지 않습니다. 자세한 내용은 (일반적으로 재부팅시 스크립트 실행 방법에 대한 지침은 this answer을 참조하십시오.) 우리는 클라우드 초기화에서 사용자 데이터를 디버깅 할 경우

+0

이 올바른지? 이 질문은'/ var/lib/cloud/scripts/per-boot/*'에 관한 것이며, 링크 할 질문은 모든 부팅시'/ var/lib/cloud/instance/user-data.txt'를 실행하는 것에 관한 것입니다. . 대답의 마지막 문장은 나중을 대신하여 전자를 사용하는 것입니다. –

2

, 우리는 다음 단계를 시도 할 수 있습니다 :

  1. RF RM은은/var/lib 디렉토리/구름/*
  2. 클라우드 초기화 초기화
  3. 클라우드 초기화 모듈 -m final

위의 명령을 사용하면 cloud-init가 다시 실행됩니다. /var/log/cloud-init.log에있는 cloud-init.log를 확인하여 성공적으로 exec되었는지 확인할 수 있습니다.

+0

이 작업을 한 후에 오류가 발생했습니다. IsADirectoryError : [Errno 21] 모듈의 반복 실행시 디렉토리가 '/ var/lib/cloud/instance''입니다. 나는'/ var/lib/cloud/scripts/per-boot' 스크립트를 잃어 버리거나 다시 만들고 싶지 않았기 때문에'sudo rm -rf/var/lib/cloud/instance/var/lib/cloud/instances/*; sudo cloud-init modules -m final'은 재검사를 허용하는 데 필요한 최소한의 정리입니다. 리드 주셔서 감사합니다! –