在CentOS系統中,可以使用logrotate
工具來實現Java日志的自動切割。以下是配置和使用logrotate
的步驟:
確保logrotate
已安裝:
CentOS 7及更高版本默認已安裝logrotate
。如果未安裝,請運行以下命令安裝:
sudo yum install logrotate
CentOS 6需要手動安裝logrotate
:
sudo yum install logrotate
創建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
}
解釋:
/path/to/your/java/app/logs/*.log
:指定要切割的日志文件路徑和匹配模式。daily
:每天切割日志。rotate 7
:保留7個切割后的日志文件。compress
:壓縮切割后的日志文件。missingok
:如果日志文件不存在,不會報錯。notifempty
:如果日志文件為空,不進行切割。create 640 root root
:創建新的日志文件,權限為640,屬主為root,屬組為root。測試配置:
使用以下命令測試logrotate
配置是否正確:
sudo logrotate -f /etc/logrotate.d/java_app
如果沒有錯誤信息,說明配置正確。
設置定時任務:
logrotate
默認每天運行一次。如果你需要更頻繁地運行logrotate
,可以編輯/etc/logrotate.conf
文件,修改daily
為hourly
或其他時間單位,并調整/etc/cron.daily/logrotate
腳本中的運行頻率。
現在,Java日志將在CentOS系統中自動切割。