重启时自动启动心跳?

重启时自动启动心跳?

新手问题,抱歉 - 我一直在谷歌搜索“重启 ubuntu 时自动启动”之类的内容,但我不确定我是否找到了明确的答案。

我正在使用 Ubuntu 10.04,我想确保每当服务器重启时心跳都会自动启动。

目前我正在手动运行以下命令:

$ /etc/init.d/heartbeat start

我如何确保每次服务器重启时都会调用这个函数?

我谷歌搜索到的一个答案建议:

$ update-rc.d heartbeat defaults

就可以了 - 对吗?

答案1

类型 update-rc.d heartbeat defaults

重启后它将自动启动

如果你想关闭它,请输入'update-rc.d -f heartbeat remove'

答案2

应该可以。基本上,启动过程实际上不会查看 /etc/init.d,而是查看 /etc/rc2.d(或任何定义为启动运行级别的文件)。/etc/rc2.d 中的文件应该是 /etc/init.d 中文件的符号链接:

$ ls -l /etc/rc2.d
total 4
lrwxrwxrwx 1 root root  14 Sep 19 14:13 K16nsca -> ../init.d/nsca
-rw-r--r-- 1 root root 677 Mar 30  2011 README
lrwxrwxrwx 1 root root  19 Aug 15 17:30 S10syslog-ng -> ../init.d/syslog-ng
lrwxrwxrwx 1 root root  23 Jul  6 20:18 S20chef-expander -> ../init.d/chef-expander
lrwxrwxrwx 1 root root  19 Jun 30 19:46 S20chef-solr -> ../init.d/chef-solr
lrwxrwxrwx 1 root root  17 Jun 30 19:46 S20couchdb -> ../init.d/couchdb
lrwxrwxrwx 1 root root  20 Jul 22 16:20 S20fancontrol -> ../init.d/fancontrol
lrwxrwxrwx 1 root root  15 Jun 30 19:46 S20jetty -> ../init.d/jetty
lrwxrwxrwx 1 root root  28 Jul 22 16:20 S20nagios-nrpe-server -> ../init.d/nagios-nrpe-server

等等。

为了使 Heartbeat 在启动时启动,它应该有一个类似的符号链接。

您可以手动创建这些链接,但 Ubuntu 使用 update-rc.d 命令来管理这些符号链接,因此您不必这样做。

由于 /etc/rc2.d 目录是 root 拥有并获得权限的,因此您需要实际运行:

$ sudo update-rc.d heartbeat defaults

以超级用户权限运行该命令。运行时,它应该会向您显示它将创建的一组符号链接。除了 /etc/rc2.d 中的链接外,它还应该在其他 /etc/rc?.d 目录中放置类似的链接,包括 /etc/rc6.d 中的链接(例如),以便在机器关闭时关闭服务。

答案3

尝试再次运行脚本,有些脚本只是说它们已启动,根本没有抱怨。另外,如果我没有弄错的话,你正在做的是说运行这个脚本心跳,但你没有给脚本任何参数。(如果我理解正确的话这一页正确)

您可以做的是创建一个名为 foo 的脚本:

/etc/init.d/heartbeat start

使用 chmod +x 使其可执行

然后运行命令 update-rc.d foo defaults

它将在启动时运行 foo 脚本中的所有命令。

相关内容