10
運行logrotate
力後之後,我的應用不斷寫入my_app.log.1
(舊的日誌應存檔後),而不是my_app.log
。應用程序寫入「.log.1" 文件,而不是」 .LOG」文件運行logrotate的
這使得my_app.log
一個空文件,因此logrotate
運行沒有任何影響。並my_app.log.1
繼續增長到千兆字節。
我正在運行Ubuntu 12.04。我的應用程序是一個使用pm2的Node.js應用程序。以下是我的logrotate的配置:
"/var/log/my_app/*.log" {
daily
size 50M
rotate 10
missingok
compress
delaycompress
notifempty
}
我知道我把notifempty
有,但爲什麼my_app.log.1
擺在首位寫?
如果應用程序在運行時保持日誌文件處於打開狀態,則它不受文件名稱更改的影響。它繼續在文件中寫入。在重命名文件後,可以配置'logrotate'(在'postrotate'腳本中)重新啓動應用程序(或發送一個'HUP'信號,如果應用程序響應的話)。文檔中有一些示例。 – axiac