Upstartに新しいスクリプトが表示されない


27

スクリプトを含む新しいスクリプトを/etc/init/calledに追加しました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、私のMinecraftの仕事はリストされていません。実行initctl reload-configurationしてみましたが、違いはありません。

initctl list開始、停止、および再起動により、作業ごとにリストされた他のジョブは正常に機能します。

なぜ新しいスクリプトが表示されないのですか?



これはばかげた質問かもしれませんが、...あなたのスクリプトでは/etc/init.d/ないでしょうか?
ウォルファー

@雪に感謝します、しかし、私はすでにそれを読みました、そして、私にはまだ問題があります。
ジャサリアン

@Wolferは、upstartの入門ガイドによると、「幸せになったら、ファイルを入れて/etc/init、再起動してupstartを使用する準備ができました」と言っています。
ジャサリアン

問題を再現しようとしましたが、成功しませんでした。貼り付けたコードを/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からの有用な情報を提供できますか?
ゴランMiskovic

回答:


12

/var/log/syslogを使用して設定をリロードするときに、upstartログ(にあります)を確認しますinitctl reload-configuration。構文エラーがある場合は、そこに表示されます。通常、これが新しいupstart構成を使用できない理由です。


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

end scriptしかし、それがなくても@schkovichでうまくいった理由はわかりません...


2
終了スクリプトスタンザを追加したからです。組み込み(マインド)自動コード補完。:(
ゴランミスコビッチ

私は同じ問題にぶつかりましたが、腹立たしいことに、/ var / logには何も表示されず、initctl reload-configuration --verboseはサイレントです。
ニールマクギル

4

私の場合author、これは次のような空のフィールドでした。

author ""

引用符で何かを追加した後にのみ機能しました。

# initctl reload-configuration

また/etc/init/servicename.conf:2: Expected token 、stdoutではなくsyslogにスローしていました。死にかけているパッケージのバグレポートを提出するには忙しすぎます。


3

おそらくこれには特に該当しませんが、言及する価値がrestartあります。実行中のサービスのUpstart構成ファイルを編集する場合、実行は構成を再読み込みしません。あなたは実行する必要がありますstopし、start新しい変更を有効にするために。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.