我編寫了一個守護進程,它監視某個目錄中的文件,如果將新文件複製到該目錄,則將其提交給 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
我對麼?
答案1
根據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