Upstart에 새 스크립트가 표시되지 않습니다


27

나는에 새로운 스크립트를 추가 한 /etc/init/라는 minecraft.conf스크립트를 포함하는을 :

start on startup
stop on shutdown
respawn
respawn limit 20 5

script
  export HOME="/root"
  exec /root/minecraft/start.sh 2>&1 >> /var/log/minecraft.log
end script

post-start script
   echo "minecraft started"

시도 start minecraft하면 오류가 발생합니다.start: Unknown job: minecraft

달리기를 시도했는데 initctl list마인 크래프트 직업이 목록에 없습니다. 나는 달리기를 시도했지만 initctl reload-configuration아무런 차이가 없습니다.

다른 작업 initctl list은 시작, 중지 및 다시 시작시 제대로 작동합니다.

새 스크립트가 시작되지 않는 이유는 무엇입니까?



이것은 어리석은 질문 일지 모르지만 ...에서 대본이 아니어야 /etc/init.d/합니까?
Wolfer

@ snow 감사하지만 이미 읽었으며 여전히 문제가 있습니다.
Jasarien

@Wolfer upstart 시작 안내서에 따르면 "한 번 행복하면 파일을 넣은 다음 /etc/init다시 부팅하고 upstart를 사용할 수 있습니다."라고 말합니다.
Jasarien

나는 문제를 재현하려고 노력했지만 성공하지 못했습니다. 붙여 넣은 코드를 /etc/init/minecraft.conf에 복사 sudo start minecraft하고 문제없이 발행 했습니다. 다음은 로그 파일의 내용입니다. ~$ sudo cat /var/log/upstart/minecraft.log minecraft started /proc/self/fd/9: 3: exec: /root/minecraft/start.sh: not found minecraft started사용중인 Ubuntu 버전 및 syslog의 유용한 정보에 대한 자세한 정보를 제공 할 수 있습니까?
Goran Miskovic

답변:


12

/var/log/syslog사용하여 구성을 다시로드하는 동안 시작 로그를 확인하십시오 (로그에 있음 ) initctl reload-configuration. 구문 오류가 있으면 표시됩니다. 따라서 일반적으로 새로운 시작 구성을 사용할 수 없습니다.


11

스크립트 구문을 확인하는 쉬운 방법은 다음 명령을 사용하는 것입니다.

init-checkconf -d /etc/init/service_name.conf

서버가 마지막으로 부팅되었을 때 파일이 존재하지 않으면 유효한 Upstart 파일을 사용하더라도 Upstart가 파일을 보려면 서버를 재부팅해야한다는 것을 알았습니다.


9

좀 바보 같은 느낌이지만 ... 여기 있습니다 :

upstart 스크립트의 끝에서 "end script"스탠자를 놓쳤습니다 ...

post-start script
   echo "minecraft started"

이어야했다

post-start script
   echo "minecraft started"
end script

그래도 @schkovich에서 왜 작동하지 않았는지 잘 모르겠습니다 end script.


2
엔드 스크립트 스탠자를 추가했기 때문입니다. 내장 된 (마음) 자동 코드 완성. :(
Goran Miskovic

나는 같은 문제에 부딪 쳤지 만 화려하게 / var / log에 아무것도 나타나지 않고 initctl reload-configuration --verbose는 침묵합니다.
닐 맥길

4

내 경우에는 다음 author과 같이 빈 필드 였습니다 .

author ""

따옴표에 무언가를 추가 한 후에 만 ​​작동했습니다.

# initctl reload-configuration

또한 /etc/init/servicename.conf:2: Expected token stdout 대신 syslog를졌습니다 . 죽어가는 패키지에 대한 버그 보고서를 제출하기에 너무 바쁩니다.


3

아마도 이것에 구체적으로 적용 할 수는 없지만 언급 할 가치가 있습니다. 실행중인 서비스에 대한 Upstart 구성 파일을 편집하는 경우 running restart은 구성을 다시로드하지 않습니다. 실행 stop하고 start새로운 변경 사항을 적용해야합니다.

http://upstart.ubuntu.com/cookbook/#restart

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.