tomcat 日誌切割

一、日誌切割介紹      

tomcat日誌一般產生的是比較大的,catalina.out文件一般佔用比較大,如果不做切割的話,很容易佔滿存儲磁盤,一般需要做切割,切割的方法有多種,現介紹一種系統自動的日誌切割的工具:logrotate軟件,一般是系統自動的,非常好用。

二、使用logrotate分割tomcat日誌

logrotate是個強大的系統軟件,它對日誌有着一套完整的操作模式,譬如:轉存。郵件和壓縮等,並且默認logrotate加到cron(/etc/cron.daily/logrotate)作爲每日任務執行。自動有了logrotate,可以不用使用腳本切割了。

配置tomcat的日誌分割      

針對生產中的tomcat實例日誌的切割,配置如下:

 cat /etc/logrotate.d/tomcat

/webserver/tomcat/college-admin/logs/catalina.out

/webserver/tomcat/college-server/logs/catalina.out

/webserver/tomcat/innospace-file-server/logs/catalina.out

/webserver/tomcat/innospace-admin/logs/catalina.out

/webserver/tomcat/innospace-server-news/logs/catalina.out

/webserver/tomcat/innospace-server-activity/logs/catalina.out

/webserver/tomcat/innospace-server-space/logs/catalina.out

/webserver/tomcat/innospace-server-park/logs/catalina.out

/webserver/tomcat/innospace-server/logs/catalina.out {

daily

rotate 30

missingok

dateext

nocompress

notifempty

copytruncate

}

參數詳解:

daily  指定轉儲週期爲每天

rotate  5  指定日誌文件刪除之前轉儲的次數,0指沒有備份,5只保留 5個備份

missingok  如果日誌不存在則忽略該警告信息

dateext      文件後綴是日期格式,也就是切割後文件是xxx.log-20150828.gz

nocompress   通過gzip壓縮轉儲以後的日誌

notifempty     如果是空文件的話,不轉儲

copytruncate   用於還在打開中的日誌文件,把當前日誌備份並截斷

立即截斷日誌:# logrotate --force /etc/logrotate.d/tomcat

指定切割時間:

[root@master ~]# crontab -l

00 00 * * * /usr/sbin/logrotate --force /etc/logrotate.d/tomcat

三、logrotate參數說明

參數名稱    含義 

compress                 通過gzip 壓縮轉儲以後的日誌 

nocompress               不壓縮轉儲 

copytruncate             打開中的日誌轉儲 

nocopytruncate              備份日誌文件,但是不截斷 

nocreate                    不建立新日誌 

delaycompress           延遲壓縮,和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 nodelaycompress         轉儲並壓縮 

errors address          轉儲時錯誤信息發送指定地址 

ifempty                 文件爲空也轉儲 

notifempty                  如果文件爲空,不轉儲 

mail address            發送轉儲日誌到指定郵箱 

nomail                  轉儲不發郵件 

olddir directory            轉儲後的日誌文件放入指定的目錄,必須和當前日誌文件在同一個文件系統 

noolddir                    轉儲後的日誌文件和當前日誌文件放在同一個目錄下 prerotate/endscript         在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行 postrotate/endscript    在轉儲以後需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行 

daily                   按天存儲

weekly                  按周存儲 

monthly                 按月存儲 

rotate count            日誌轉存保留的前多少份,多餘的會被刪除 

tabootext [+] list      讓logrotate 不轉儲指定擴展名的文件,缺省的擴展名是:.rpm-orig, .rpmsave, v, 和 ~ size 

size           當日志文件到達指定的大小時才轉儲,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB 

extension           指定轉存日誌後綴名,例如 .log 

dateformat          設置日誌文件名日期格式默認爲 %Y%m%d

參考文獻:http://pvbutler.blog.51cto.com/7662323/1653088

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章