在CentOS上可使用logrotate
工具切割Java日志,步驟如下:
安裝logrotate
sudo yum install logrotate -y
創建配置文件
在/etc/logrotate.d/
下新建文件(如java-logs
),內容示例:
/path/to/java/logs/*.log {
daily # 按天切割(可改為size 100M按大小切割)
rotate 7 # 保留7天日志
compress # 壓縮舊日志
missingok # 忽略丟失文件
notifempty # 空文件不切割
create 0640 root root # 新日志權限
postrotate
/bin/kill -USR1 $(cat /path/to/java/logs/java.pid) # 通知Java進程重載日志
endscript
}
daily
:按天切割;size 100M
:按文件大小切割(如100MB)。postrotate
:切割后執行命令,需替換為實際Java進程的PID文件路徑。手動測試配置
sudo logrotate -f /etc/logrotate.d/java-logs # 強制立即執行
設置定時任務
logrotate默認通過/etc/cron.daily/logrotate
每日自動執行,無需額外配置。
說明:
rotate
(保留數量)、compress
(壓縮)、dateext
(日期后綴)等。/etc/cron.daily/logrotate
復制到/etc/cron.hourly/
并重啟cron服務。