あるディレクトリ内のファイルを監視し、新しいファイルがこのディレクトリにコピーされると、SVN にコミットされるデーモンを作成しました。リモート デバイスが を介してファイルをコピーした場合にのみ、新しいファイルがこのディレクトリに表示されます。次に、OpenSUSE 11.4 でこのデーモンの System-V init スクリプトを作成したいと思います。行にはブート機能のみを含める必要があることscp
は明らかです。これにより、ローカル ファイル システムがマウントされ、ネットワークが動作し、起動していることが保証されます。これら 3 つのブート機能はデーモンの前提条件です。つまり、が動作していない場合はデーモンを起動する意味がなく、 を介して新しいファイルを受け取ることは不可能です。ただし、必要なブート機能をリストする行をどのように構成すればよいのか、少し困惑しています。Required-Start:
$sshd
sshd
sshd
scp
Required-Stop:
ないデーモンをシャットダウンする前に停止する必要があります。sshd
デーモンが停止する前に、 が停止している間 (新しいファイルを受け取らないようにするため)、ローカル ファイル システムをマウントし、ネットワークを操作可能にしておく (SVN にファイルをアップロードするため) のが論理的に思えます。 が停止する前に新しいRequired-Stop: $sshd
ファイルを受信している間、デーモンが停止するという状況が発生する可能性があります。scp
sshd
つまり、簡単に言えば、次のアプローチが私にとって最も論理的であるように思われます。
# Required-Start: $sshd
# Required-Stop: $local_fs $network
私の言うことは正しいでしょうか?
答え1
によるとhttps://wiki.debian.org/LSBInitScriptsのセクションでRequired-Stop
通常、ここでは Required-Start キーワードと同じ機能を含めます。
このスクリプトをssh
起動前に実行することは、OPで示唆されているような問題ではありません。これは、このデーモンが起動するまで表示されないファイルを待機することを意味しますssh
。ただし、このスクリプトには、次の機能が絶対に必要なので$local_fs
、$network
次の2行を使用します。
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network