2016-11-10 12 views
4

Каждый раз, когда информационный журнал вращает файл журнала, 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)# 
+2

Смотрите 'человек newsyslog.conf', но по умолчанию' syslogd' принимает сигнал, когда файл журнала не вращается, если либо с 'n' флаг или другой процесс ** **. Проверьте файлы 'newsyslog.conf' или' newsyslog.conf.d/* '. –

+0

@RichardSmith Я не знаю, как указать процесс в 'newsyslog.conf'? И я также не использовал флаг 'N'. –

+1

Я не могу воспроизвести проблему. Если я добавлю свои строки в свой файл '/ etc/syslog.conf' и вызову' newsyslog -f newsyslog-cnd.conf', файл журнала будет повернут, новый будет создан с сообщением 'logfile over over size' и 'logger' отлично работает в новом файле. Я не понимаю ваши подкаталоги 'newsyslog.d' и' syslog.d', и я не получаю файл '0B' после вращения журнала. –

ответ

1

Добавить путь к PidFile в /etc/newsyslog.conf и при необходимости сигнал, например 1, обозначающую SIGHUP, более подробную информацию о newsyslog here: https://www.freebsd.org/doc/handbook/configtuning-syslog.html

Формат/пример:

# logfilename   [owner:group] mode count size when flags [/pid_file] [sig_num] 

/var/log/your-app.log root:wheel  600 7  * @T00 GBJC /var/run/your-app.pid 1 

Также смотрите ответ: https://serverfault.com/a/701563/94862