Каждый раз, когда информационный журнал вращает файл журнала, syslog останавливается на входе в файл. Пока не завершен перезапуск syslogd.syslog останавливает ведение журнала после поворота журнала
(myserver:wheel)# logger -p local1.info -t myprocess "hello thiru"; ll myfile.log; cat myfile.log
-rw-r--r-- 1 root wheel 0B Nov 10 11:26 myfile.log
(myserver:wheel)# /etc/rc.d/syslogd restart
Stopping syslogd.
Starting syslogd.
(myserver:wheel)# logger -p local1.info -t myprocess "hello thiru"; ll myfile.log; cat myfile.log
-rw-r--r-- 1 root wheel 44B Nov 10 12:04 myfile.log
Nov 10 12:04:31 myserver myprocess: hello thiru
(myserver:wheel)#
На Linux
(который использует logrotate
), мы можем решить эту проблему, делая syslog/rsyslog restart
в postrotate
разделе logroate конф.
Есть ли что-то похожее на postrotate
в newsyslog
?
Edit:
Syslog и Newsyslog конф файлы:
(TPC-E11-36:wheel)# cat /etc/newsyslog.d/newsyslog-myprocess.conf
/var/log/myfile.log 644 20 10000 * Z
(TPC-E11-36:wheel)# cat /etc/syslog.d/syslog-myprocess.conf
!myprocess
local1.info /var/log/myfile.log
(TPC-E11-36:wheel)#
Смотрите 'человек newsyslog.conf', но по умолчанию' syslogd' принимает сигнал, когда файл журнала не вращается, если либо с 'n' флаг или другой процесс ** **. Проверьте файлы 'newsyslog.conf' или' newsyslog.conf.d/* '. –
@RichardSmith Я не знаю, как указать процесс в 'newsyslog.conf'? И я также не использовал флаг 'N'. –
Я не могу воспроизвести проблему. Если я добавлю свои строки в свой файл '/ etc/syslog.conf' и вызову' newsyslog -f newsyslog-cnd.conf', файл журнала будет повернут, новый будет создан с сообщением 'logfile over over size' и 'logger' отлично работает в новом файле. Я не понимаю ваши подкаталоги 'newsyslog.d' и' syslog.d', и я не получаю файл '0B' после вращения журнала. –