问题描述
我在我的rc.local中有一些命令。我知道他们失败了。如何通过执行rc.local生成的消息获取日志文件?它在哪里?
我检查了/var/log/boot.log。我知道我的信息不存在,因为我知道失败的原因是什么。但我仍然想从日志文件中确认。
注意,我不想再次运行脚本,我可以,但我不想要。我宁愿分析在启动期间发生的事情。
谢谢你的帮助。
Ubuntu 12.04桌面(如果重要的话)
最佳解决思路
除非命令已配置输出或日志记录,否则rc.local
命令不会在任何地方记录。
如果要查看特定命令的日志,请将rc.local
的redirecting the stdout and stderr尝试到您可以检查的位置。尝试将其添加到/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
虽然这需要重新运行rc.local
文件。
次佳解决思路
尝试检查/var/log/syslog
文件中的故障。
第三种解决思路
使用systemd rc.local被认为是systemd收集日志的服务。您可以查看以下内容:
systemctl status rc.local.service
您可以通过服务日志查看错误(如果存在)。
第四种思路
顺便拜访
-
/var/log/messages
-
/var/log/daemon
或者使用dmesg命令
less /var/log/boot.log
less /var/log/dmesg
grep error /var/log/dmesg
grep <your expected error string> /var/log/boot.log
或使用script
或其他工具捕获rc.local
中的日志