2016-11-10 276 views
4

每當newsyslog輪轉日誌文件後,syslog都會停止登錄到文件。直到syslogd重啓完成。系統日誌在日誌輪轉後停止日誌記錄

(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),我們可以通過在logroate的conf的postrotate部分做syslog/rsyslog restart解決這個問題。

newsyslog有沒有類似postrotate的東西?

編輯:

系統日誌和newsyslog conf文件:

(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',日誌文件將被輪換,並創建一個新的日誌文件, 'logger'正常工作到新文件中。我不認識你的子目錄'newsyslog.d'和'syslog.d',並且在日誌輪轉後我沒有得到'0B'文件。 –

回答