在 CentOS 系統中,Java 應用程序的日志輪轉通常是通過 logrotate 工具來實現的。要配置 Java 日志輪轉,請按照以下步驟操作:
sudo yum install logrotate
/etc/logrotate.d/
目錄下創建一個新的配置文件,例如 java_app
:sudo vi /etc/logrotate.d/java_app
/path/to/your/java/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
postrotate
if [ -f /path/to/your/java/app/logs/your_app.log.pid ]; then
kill -USR1 `cat /path/to/your/java/app/logs/your_app.log.pid`
fi
endscript
}
請將 /path/to/your/java/app/logs/
替換為您的 Java 應用程序日志文件的實際路徑,將 your_app.log.pid
替換為實際的 PID 文件名。
這里的配置選項解釋如下:
daily
: 每天輪轉日志。rotate 7
: 保留 7 個輪轉后的日志文件。compress
: 壓縮輪轉后的日志文件。missingok
: 如果日志文件不存在,不會產生錯誤。notifempty
: 如果日志文件為空,不進行輪轉。create 640 root root
: 創建新的日志文件,權限為 640,屬主為 root,屬組為 root。postrotate
和 endscript
之間的腳本會在日志輪轉后執行。這里我們向 Java 應用程序發送 USR1 信號,通知它重新打開日志文件。保存并退出配置文件。
測試 logrotate 配置是否正確:
sudo logrotate -f /etc/logrotate.d/java_app
這將強制執行一次日志輪轉,您可以在 /path/to/your/java/app/logs/
目錄下查看輪轉后的日志文件。
現在,logrotate 將根據您的配置自動輪轉 Java 應用程序的日志文件。