Где находится файл журнала от rc.local?


52

У меня есть несколько команд в моем rc.local. Я знаю, что они терпят неудачу. Как я могу получить файл журнала с сообщениями, созданными в результате выполнения rc.local? Где он расположен?

Я проверил /var/log/boot.log. Я знаю, что моих сообщений нет, потому что я уже знаю, в чем причина отказа. Но я все еще хочу убедиться в лог-файле.

Заметьте, я не хочу снова запускать скрипт, но могу, но не хочу. Я бы лучше проанализировал, что произошло во время запуска.

Спасибо за любую помощь.

Ubuntu 12.04 Desktop (если это имеет значение)

Ответы:


59

Если для команды не настроен вывод или ведение журнала, 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

Хотя для этого потребуется перезапустить rc.localфайл.


3
exec &> /tmp/rc.local.logдостаточно вместо двух вызовов exec :-)
AjayKumarBasuthkar

2
@ abu-bua: Пожалуйста, будьте осторожны при просмотре предложений по редактированию, которые вводят функциональные изменения! &>перенаправление - это Bash-ism, и оно молча завершается в Dash и других «простых» реализациях /bin/shинтерпретаторов, подобных той, что использовалась для rc.local.
Дэвид Фёрстер

означает "наверх" перед первой строкой !/bin/sh -e?
Бен


10

С systemd rc.local считается сервисом, который systemd собирает логи. Вы можете просмотреть их с помощью:

systemctl status rc.local.service

Вы можете увидеть ошибки (если они существуют) через сервисный журнал.


2

Смотреть в

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.