Init-Script
System-V 類型初始化腳本 LSB 標頭中的“Required-Stop:”行
我寫了一個守護程序,它監視某個目錄中的文件,如果一個新文件被複製到這個目錄,那麼它就會被送出給 SVN。僅當遠端設備將文件複製到此目錄時,新文件才會出現在此目錄中
scp
。現在我想在 OpenSUSE 11.4 中為這個守護程序創建一個 System-V 初始化腳本。很明顯,該Required-Start:
行應該只包含$sshd
引導工具,因為這可以確保本地文件系統已安裝,網路可操作並sshd
已啟動。這三個引導設施是守護程序的先決條件,即如果守護程序sshd
無法執行,則沒有必要啟動守護程序,因此它不可能接收到新文件scp
。但是,我有點困惑我應該如何配置該Required-Stop:
行,其中列出了應該在關閉守護程序之前不要停止。sshd
對我來說,在守護程序停止之前安裝本地文件系統並且網路執行(用於將文件上傳到 SVN)看起來是合乎邏輯的(用於不接收任何新文件)。Required-Stop: $sshd
可能會造成守護程序停止的情況,而在停止scp
之前接收到新文件sshd
。所以簡而言之,以下方法對我來說似乎是最合乎邏輯的:
# Required-Start: $sshd # Required-Stop: $local_fs $network
我對麼?
根據https://wiki.debian.org/LSBInitScripts在關於
Required-Stop
通常,您會在此處包含與Required-Start 關鍵字相同的功能。
在
ssh
啟動之前執行此腳本並不是您在 OP 中建議的問題,它只是意味著此守護程序將等待在ssh
啟動之前永遠不會出現的文件。然而,這個腳本確實需要的功能,$local_fs
所以$network
我會使用以下兩行# Required-Start: $local_fs $network # Required-Stop: $local_fs $network