debian squeeze:sysv 初始化脚本的日志去哪儿了?(为什么我的初始化脚本不起作用)

debian squeeze:sysv 初始化脚本的日志去哪儿了?(为什么我的初始化脚本不起作用)

我的实际问题是尝试调试一个 init 脚本来启动 Resque。它可以在命令行中以 root 身份运行,但在启动时不执行任何操作。它有一些正确的 insserv 标头,我已运行updaterc.d以创建符号链接,并检查它们是否存在。脚本是 +x。

# find /etc/rc*.d -name \*resque\*
/etc/rc0.d/K01resque
/etc/rc1.d/K01resque
/etc/rc2.d/S01resque
/etc/rc3.d/S01resque
/etc/rc4.d/S01resque
/etc/rc5.d/S01resque
/etc/rc6.d/K01resque

# ls -l /etc/init.d/resque 
-rwxr-xr-x 1 root root 2093 Oct 24 03:02 /etc/init.d/resque

剧本可以在这里查看如果你喜欢的话。它使用 lsb 函数来记录消息,我相信这本质上是 echo() 到 STDOUT。那么在启动期间输出到哪里呢?它不在 /var/log/*log 中

答案1

启动脚本的输出不会记录在任何地方,任何输出都会进入控制台。要记录脚本的输出,请在顶部添加以下内容:

exec 1>/tmp/init.log 2>&1

您可能还想添加set -x以查看它的具体解释方式。

答案2

在 Debian Wheezy 上,请执行以下操作:

apt-get install bootlogd

在以前的版本中,它已经安装,但您需要在中启用它/etc/default/bootlogd

然后将输出记录到/var/log/boot

https://wiki.debian.org/bootlogd了解更多详细信息。

相关内容