sysctl による init スクリプトの障害を理解する

sysctl による init スクリプトの障害を理解する

コンテナ内で Mono Web アプリケーションを起動するための独自の init スクリプトを作成しましたmod-mono-server2( は使用していませんがAutoHosting、そのことは認識しています)。

openSUSE 11.4 を使っていたときは、initコンソールで何が問題なのかを正確に確認できました。しかし、今は、 を使用している openSUSE 12.1 を実行しているサーバーにアプリを移行する必要がありsystemctl、起動に失敗する理由を突き止めるのは大変です。

起動コマンドは、sudo -u mono-user mod-mono-server2 [params]PID をファイルに書き込む典型的なものです/var/run/spambusters/(停止したいときに強制終了するため)。 を実行しようとすると、/etc/init.d/spambusters start一般的な が表示されますJob failed. See system logs and 'systemctl status' for details.

しかし、それ以上の情報は得られません……。

spambusters@dom:~/source> sudo systemctl status spambusters.service
spambusters.service - LSB: Spambusters instance (as spambusters)
      Loaded: loaded (/etc/init.d/spambusters)
      Active: failed since Fri, 07 Sep 2012 20:37:56 +0200; 1min 37s ago
     Process: 29731 ExecStart=/etc/init.d/spambusters start (code=exited, status=1/FAILURE)
      CGroup: name=systemd:/system/spambusters.service
          â”” 29744 sudo -u spambusters /usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applicat...
spambusters@dom:~/so

システムログ/var/log/messagesには以下が含まれます

Sep  7 20:37:56 dom sudo:     root : TTY=console ; PWD=/ ; USER=spambusters ; COMMAND=/usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applications /:/home/spambusters/srv/www/domains/www.burnthespam.info/htdocs

この質問はサーバー管理に関するものであるため、serverfault.comにも適している可能性があると理解していますが、私の率直な質問は

ルート プロセスが init ではなく systemctl である場合、init スクリプトの失敗に関する詳細情報をどのように見つければよいでしょうか?

答え1

OSがsystemd-journaldを使用している場合、

journalctl -a _SYSTEMD_UNIT=spambusters.service

(最新の systemd バージョンでは で同じものが表示されますsystemctl statusが、OpenSuSE には古いバージョンがあります。)


また、使ってはいけませんsudo別のユーザーとしてのみ実行したい場合。使用User=spambustersその代わり。

関連情報