使用 update-rc.d

使用 update-rc.d

按照这个问题,我想/etc/init.d在启动时启动一个脚本。我有以下脚本注释:

# Startup script for Wowza Media Server
#
# chkconfig: - 80 20
# description: Wowza Media Server is a media server
#
#### BEGIN INIT INFO
# Provides:          WowzaMediaServer
# Required-Start:    $syslog $time $local_fs $remote_fs
# Required-Stop:     $syslog $time $local_fs $remote_fs
# Default-Start:     3 4 5
# Default-Stop:      S 0 1 2 6
# Short-Description: Wowza Media Server 3 Init Script
# Description:       Wowza Media Server 3 Init Script
### END INIT INFO

据我所知,对于 Debian 和 Ubuntu 系统,chkconfig我需要使用 ,而不是使用update-rc.d。我过去曾这样做过,但似乎update-rc.d只是将脚本链接到所有运行级别。事实真的如此吗?

我需要这个脚本仅在网络启动后运行;我正在运行一个需要curlURL 的脚本来确定主机 (EC2) 的公共 DNS 名称。如何添加此脚本update-rc.d以按照我想要的方式自动启动?

答案1

您应该考虑到 Debian 和 Ubuntu 仅使用运行级别 0、1、2、6,默认的图形多用户运行级别是 2。

Ubuntu 有一个额外的复杂性:暴发户管理基于事件的服务启动过程,但init.d仍支持旧脚本。

我认为以下命令应该有效

update-rc.d script-base-name defaults

因为,正如您在 (dry run) 选项中看到的-n,它创建的链接的名称以S20运行级别 2、3、4、5 开头,唯一有意义的是 2,并且我认为当脚本运行时网络已经启动被处决。

如果您想确定,可以添加更大的序列号,如下所示

update-rc.d script-base-name defaults 99

以便使用前缀创建链接S99,确保该服务是最后运行的。

答案2

我想您正在寻找:

update-rc.d wowza start 99 2 3 4 5 .

相关内容