У меня есть отдельный файл для ведения журнала local7
, и этот файл редактируется touch
и
разрешенияустановить, из моего установщика. Но иногда я вижу, что логи не записываются в него (после того, как я делаю переустановку), пока я этого не сделаю rsyslog restart
!
Обязательно липерезапуск rsyslog
если файл журнала редактируется touch
другой программой/приложением?
(поскольку установщик запускается как root
, временная метка файла журнала будет изменена из-за touch
- приведет ли это к тому, rsyslog
что запись в файл журнала не будет выполнена?)
решение1
У rsyslogd каждый файл журнала постоянно открыт для записи, и он не знает, что вы выдернули файл из-под него. Файл, который удалил ваш установщик, все еще находится на диске в несвязанном состоянии и в него все еще записываются данные. Вы можете указать rsyslogd повторно открыть все файлы журнала, вместо killall -HUP rsyslogd
того чтобы выполнять полный перезапуск.
решение2
По понятным причинам rsyslog — это жестко спроектированная программа, которая следует своей конфигурации. Она однозначна. Если бы можно было сделать то, что вы хотите, это создало бы гигантскую дыру в безопасности.