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)

up vote 53 down vote accepted

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 execution

Though this will require to rerun the rc.local file.

  • 3
    exec &> /tmp/rc.local.log is enough instead of the two exec calls :-) – AjayKumarBasuthkar Jul 3 at 13:25
  • 1
    @abu-bua: Please be careful when you review edit suggestions that introduce functional changes! &> redirection is a Bash-ism and fails silently in Dash and other “plain” implementations of /bin/sh interpreters like the one used for rc.local. – David Foerster Sep 7 at 7:48

Try to check for failures in the /var/log/syslog file instead.

Look in

  1. /var/log/messages
  2. /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.log

Or use script or some other tool to capture a log in rc.local

With systemd rc.local is considered a service fo which systemd collects logs. You can review them with:

systemctl status rc.local.service

You can see errors (if they exist) through service log.

New contributor
Amir Ohadi is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.