System-V 类型初始化脚本 LSB 标头中的“Required-Stop:”行

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

我对么?

答案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

相关内容