VagrantのDebian7.4にrunit
をインストールしました。
実行スクリプトは機能していますが、service/pants/log /ディレクトリを作成すると、次のエラーが発生し始めます:unable to open supervise/ok
。サービスは引き続き実行されますが、何もログに記録されません。
2つの異なるサービスを試しましたが、どちらも同じ問題があります。
さまざまなサービス/パンツ/ログ/実行スクリプト(主にsvlogdを使用)を試しましたが、すべてのアクセス許可(a + rwx)を変更しようとしました。ログを保存するディレクトリが存在し、同じアクセス許可があります。
コマンドラインから直接svlogdを実行すると、期待どおりに機能します。
以下のbashログは、/etc/service/pants/_log
の名前を/etc/service/pants/log
に変更し、再び/etc/service/pants/_log
に戻すとどうなるかを示しています。
root@vwb-debian-wheezy:/etc/service# sv s pants/
run: pants/: (pid 29260) 44931s
root@vwb-debian-wheezy:/etc/service# mv pants/{_,}log/
root@vwb-debian-wheezy:/etc/service# sv s pants/
run: pants/: (pid 29260) 44963swarning: pants/: unable to open supervise/ok: file does not exist
; run: log: (pid 29260) 44963s
root@vwb-debian-wheezy:/etc/service# cat pants/log/run
#!/bin/sh
exec svlogd -ttt /var/log/service/pants/
root@vwb-debian-wheezy:/etc/service# ll pants/
total 12
drwxrwxrwx 2 root root 4096 Jul 3 07:00 log
-rwxrwxrwx 1 root root 442 Jul 3 06:58 run
drwxrwxrwx 2 root root 4096 Jul 2 18:59 supervise
root@vwb-debian-wheezy:/etc/service# ll /var/log/service/
total 8
drwxrwxrwx 2 root root 4096 Jul 2 16:55 pants
root@vwb-debian-wheezy:/etc/service# mv pants/{,_}log/
root@vwb-debian-wheezy:/etc/service# sv s pants/
run: pants/: (pid 29260) 45105s
/etc/sv/pants/
ではなく/etc/service/pants/
にrun
ファイルを作成します。
次に、/etc/service
から/etc/sv/pants
にシンボリックリンクを作成して、サービスをアクティブ化する必要があります。
ln -s /etc/sv/pants /etc/service/
/etc/service
で直接ファイルを作成することはサービスに対してのみ機能しますが、ロギングを使用する場合にも問題が発生するようです。
/etc/service/
のシンボリックリンクを削除すると、サービスを非アクティブ化できます。
Debianインストールの場合、twoディレクトリがあります:/etc/service
および/service
。サービスを効果的に制御するには、それらは多かれ少なかれ互いの鏡像である必要があります。あなたの例では、サービスpants
の場合、シンボリックリンク/etc/service/pants
とシンボリックリンク/service/pants
があり、それぞれが/etc/sv/pants
を指している必要があります。 「チート」して/service
を/etc/service
へのシンボリックリンクにして同じ効果を得ることができますが、その変更の完全な影響についてはまだわかりません。
Ubuntu 18.04以降を実行していて、次のエラーが発生する場合
監視/ OKを開くことができません:ファイルが存在しません
または、runsvdirが「grep」出力に表示されない場合は、次のコマンドを実行してrunit-systemdパッケージにしてください
Sudo apt install runit-systemd
Ubuntu 18.04の場合、上記で指定したすべての回答が機能しませんでした。その後、別のaskubuntuからこの解決策を見つけました 質問
これがお役に立てば幸いです