LINUX.ORG.RU
решено ФорумAdmin

Отправить на локальную почту рута лог загрузки системы

 bootlogd, , , ,


1

2

Хочу чтобы при первом входе после загрузки системы пользователю, принимающему почту рута, показывалось сообщение You have new mail, а при вводе команды mail выводилось письмо с полным содержанием лога загрузки системы. В /etc/crontab добавил

@reboot         root    echo -n 'Boot log at ' && date -R && echo && cat '/var/log/boot'
Но в таком варианте лог отправляется до того как полностью сформируется, а использовать sleep не хочется ибо пользователь может войти в систему раньше чем отработает задержка либо загрузка застопорится и письмо не будет содержать полного лога. Можно ли каким-либо образом отправлять содержимое /var/log/boot сразу же после того как он полностью сформируется?

★☆

Последнее исправление: h578b1bde (всего исправлений: 2)

Интересно, а как вообще в лине происходит запись в логов /boot?
Отвечает ли за это какой-то процесс, который по завершении загрузки завершается сам, выдавая в стандартный вывод какое-либо значение?
Может, в эту сторону надо копать. Мимонеуч

drunken_train
()
Ответ на: комментарий от drunken_train

Спасибо за пинок в нужном направлении. За запись загрузочного лога в /var/log/boot отвечает bootlogd. Задачу решил редактированием файла /etc/init.d/bootlogd и прописыванием в конец секции stop кода вида

        if [ -f /var/log/boot ]; then
                cat '/var/log/boot' | mail -s 'Boot log' root
        fi
Всё работает.

h578b1bde ★☆
() автор топика
Ответ на: комментарий от h578b1bde

А, то есть только когда bootlogd отработал, тогда он сам сразу и письмо шлёт. збс!
Мне казалось, решение другим будет)

drunken_train
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.