rc.local 中的日志文件在哪里?

vla*_*mir 54 boot log

我的 rc.local 中有一些命令。我知道他们正在失败。如何获取包含通过执行 rc.local 生成的消息的日志文件?它位于哪里?

我检查了/var/log/boot.log。我知道我的消息不在那里,因为我已经知道失败的原因是什么。但我仍然想从日志文件中确定。

请注意,我不想再次运行脚本,我可以但我不想。我宁愿分析启动过程中发生了什么。

谢谢你的帮助。

Ubuntu 12.04 桌面版(如果重要的话)

小智 64

除非命令已经配置了输出或日志记录,否则rc.local命令不会在任何地方记录。

如果你想查看特定命令日志,尝试重定向输出和错误rc.local某处,您可以检查。尝试将其添加到/etc/rc.local文件顶部:

exec 1>/tmp/rc.local.log 2>&1  # send stdout and stderr from rc.local to a log file
set -x                         # tell sh to display commands before execution
Run Code Online (Sandbox Code Playgroud)

虽然这将需要重新运行rc.local文件。

  • `exec &> /tmp/rc.local.log` 就足够了,而不是两个 exec 调用:-) (3认同)
  • @abu-bua:在查看引入功能更改的编辑建议时,请务必小心!`&>` 重定向是一种 Bash 主义,在 Dash 和其他 `/bin/sh` 解释器的“普通”实现(如用于 `rc.local` 的解释器)中会默默地失败。 (3认同)

Syl*_*eau 19

尝试改为检查/var/log/syslog文件中的故障。


小智 13

在 systemd 中,rc.local 被认为是 systemd 收集日志的服务。您可以通过以下方式查看它们:

systemctl status rc.local.service
Run Code Online (Sandbox Code Playgroud)

您可以通过服务日志查看错误(如果存在)。