I have some commands to in my rc.local. I know that they are failing. How can I get log file with messages produced by executing rc.local? Where is it located?
I have checked the /var/log/boot.log. I know my messages are not there because I know already what is the reason of failure. But I still want to make sure from log file.
Note, I don't want to run script again, I could but I don't want. I would rather analyse wht happened during startup.
Thanks for any help.
Ubuntu 12.04 Desktop (if it matters)
5 Answers
Unless a command has output or logging already configured, rc.local commands will not log anywhere.
If you want to see logs for specific commands, try redirecting the stdout and stderr for rc.local to somewhere you can check. Try adding this to the top of your /etc/rc.local file:
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 executionThough this will require to rerun the rc.local file.
Try to check for failures in the /var/log/syslog file instead.
With systemd rc.local is considered a service fo which systemd collects logs. You can review them with:
systemctl status rc.local.serviceYou can see errors (if they exist) through service log.
2Look in
/var/log/messages/var/log/daemon
Or use dmesg command
less /var/log/boot.log
less /var/log/dmesg
grep error /var/log/dmesg
grep <your expected error string> /var/log/boot.logOr use script or some other tool to capture a log in rc.local
To add to Sylvain's answer:
grep rc.local /var/log/syslog
Will show you all error output related to rc.local