Debian Squeeze: куда идут журналы для сценариев инициализации sysv? (почему не работает мой скрипт инициализации)

Моя настоящая проблема - попытка отладки сценария инициализации для запуска Resque. Он отлично работает от имени пользователя root из командной строки, но ничего не делает при загрузке. У него есть некоторые правильные заголовки insserv, и я бегу updaterc.d создать символические ссылки, и проверил, что они существуют. Сценарий + х.

# find /etc/rc*.d -name \*resque\*
/etc/rc0.d/K01resque
/etc/rc1.d/K01resque
/etc/rc2.d/S01resque
/etc/rc3.d/S01resque
/etc/rc4.d/S01resque
/etc/rc5.d/S01resque
/etc/rc6.d/K01resque

# ls -l /etc/init.d/resque 
-rwxr-xr-x 1 root root 2093 Oct 24 03:02 /etc/init.d/resque

Скрипт можно посмотреть здесь, если хотите. Он использует функции lsb для регистрации сообщений, которые, по сути, echo() для STDOUT, я считаю. Так куда же выводится вывод при запуске? Это не в /var/log/*log

2 ответа

Решение

Вывод initscripts нигде не регистрируется, любой вывод отправляется на консоль. Чтобы записать вывод скрипта, добавьте это вверху:

exec 1>/tmp/init.log 2>&1

Вы также можете добавить set -x чтобы увидеть, как именно это интерпретируется.

На Debian Wheezy, сделай

apt-get install bootlogd

В предыдущих версиях он уже установлен, но вам нужно включить его в /etc/default/bootlogd,

Выходные данные затем записываются в /var/log/boot

См. https://wiki.debian.org/bootlogd для получения дополнительной информации.

Другие вопросы по тегам