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 для получения дополнительной информации.