Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Сохранение логов после перезагрузки системы

#linux #логирование


Есть приложение на с++, которое пишет данные в лог.

Используется syslog(LOG_INFO,"Init"), к примеру. Данные записываются в /var/log/messages.

При перезагрузке системы данные из /var/log/messages удаляются. 
Есть ли способ сделать так, чтобы логи не удалялись? Предполагаю, что нужно использовать
syslog.conf.

Как можно решить проблему?

Операционная система: busybox/linux.
    


Ответы

Ответ 1



это, вероятно, т.н. «embedded»-система. и каталог /var (или только /var/log) находится на временной файловой системе (скорее всего, типа tmpfs), которая расположена в оперативной памяти, и создаётся при загрузке системы. пример проверки (это дистрибутив openwrt): $ df /var Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 63268 380 62888 1% /tmp $ ls -ld /var lrwxrwxrwx 1 root root 4 Sep 17 2013 /var -> /tmp делается это с целью сохранения ресурса накопителя информации, который в таких устройствах обычно может выдержать довольно ограниченное количество операций записи. не зная подробностей об используемом вами дистрибутиве, могу предположить лишь такие общие варианты решения: изменить вашу программу, чтобы она писала данные в файл, расположенный на блочном устройстве хранения информации; изменить систему инициализации вашего дистрибутива так, чтобы каталог /var или /var/log или хотя бы файл /var/log/messages располагался не в памяти, а на блочном устройстве; изменить конфигурацию используемого вами системного логгера так, чтобы он записывал не в файл /var/log/messages, а в файл, расположенный на блочном устройстве. или, например, отсылал логируемую информацию по сети на другой компьютер.

Комментариев нет:

Отправить комментарий