サービスを正しく作成するにはどうすればいいですか?

サービスを正しく作成するにはどうすればいいですか?

私がやっていることは次のとおりです:

1) ユーザーを作成しますsome_deployer
2) 次に、次のようなスクリプトを実行するためのフォルダーを作成します/company/script/<service name>
3) このフォルダーにstart.shstop.shスクリプトを作成し、ユーザーに所有権some_deployerと の権限を与えますchmod 755。 4) 次に、次のようなフォルダー
にスクリプトを作成し、ユーザーに所有権と の権限を与えます。 5) 次に、このサービスを内 のサービスのリストに追加します。/etc/init.d/<service name>-servicesome_deployerchmod 755
/etc/init.d/

/sbin/chkconfig --add -service (suse) または update-rc.d <service name>defaults (ubuntu)

これは正しいですか? これは最善の方法ですか? 作成中のサービスの 1 つが突然機能しなくなったので質問しています。コマンド /etc/init.d/-service を実行しようとしていますが、 と表示されますcommand is not found。なぜでしょうか?

答え1

ユーザーを作成する必要はありませんが、それが有利な場合は作成できます。/company/script/ について何を言っているのかわかりませんが、作成しない理由はありません。update-rc.d を実行する前に、スクリプト ファイルが /etc/init.d にあることを確認してください。/company/script/ を使用する理由がわかりませんが、エラーから、サービス名が通っていないことがわかります。

init.d スクリプトの LSB 仕様については、こちらを参照してください。http://wiki.debian.org/LSBInitScripts stop/start/restart/force-reload/status の機能を持つ単一のスクリプトを作成し、それを update-rc.d または提案された任意のものに登録します。これにより、update-rc.d は単一のファイルを指定して、それを使用して必要なすべての操作を実行できるようになります。

答え2

LSBをあまり信じないでください。ほとんどのディストリビューションはとっくに使用を中止していますsysvinit。Ubuntu、RHEL upstart(RHELの場合は主にSysV互換モード)は使用していません。Fedoraはsystemd1年以上使用しており、Fedora 18ではほぼすべてのサービスがネイティブのsystemdです。systemdの約束の1つは、LSB互換のセットアップを引き続き処理することですが、ネイティブ構成を使用すると多くの利点があります。その広範なドキュメンテーション

関連情報