我编写了一个守护进程,它监视某个目录中的文件,如果将新文件复制到该目录,则将其提交给 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